我遇到了以下问题:
library(gWidgets)
options(guiToolkit = "RGtk2")
aa <- c(1,2,3)
bb <- c(4,5,6)
cc <- cbind(aa,bb)
cc <-as.data.frame(cc)
t1 <- gtable(cc, container=TRUE)我想用以下命令刷新t1的内容:
dd <- c(7,8,9)
dd <- as.data.frame(dd)但是当我跑的时候
t1[] <- dd我收到:Can't replace with fewer columns
Apostolos
发布于 2011-07-04 20:33:46
为了扩展John的答案,这里有一个例子。
#Data
cc <- data.frame(aa = 1:3, bb = 4:6)
dd <- data.frame(X = 7:9)
#Wigdets
win <- gwindow()
grp <- ggroup(container = win)
t1 <- gtable(cc, container = grp)
#Refresh widget
delete(grp, t1)
t1 <- gtable(dd, container = grp)注意,问题中的示例代码在gWidgetstcltk下工作得很好;这纯粹是一个GTK问题。
发布于 2011-07-04 03:57:26
gtk小部件让您在构造时选择列的类型,因此gtable不允许您减少列或更改列类型。如果您真的想这样做,请将小部件放入ggroup容器中,然后删除并添加一个新的小部件。
发布于 2013-06-23 22:53:05
如果它只是关于刷新,而不是完全改变它的内容,我用这样的东西做了非常好的体验:
win <- gtable(data.frame(a=rnorm(100),b=runif(100)),container=T)
win[1,1] <- 5
win[1:10,2] <- 6
win[seq(dim(win)[1]),seq(dim(win)[2])] <- win[seq(dim(win)[1]),seq(dim(win)[2])] +1 一个完整的“刷新”可能如下所示:
win <- gtable(data.frame(a=rnorm(100),b=runif(100),d=FALSE),container=T)https://stackoverflow.com/questions/6564995
复制相似问题