首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gwidgets gtable刷新

gwidgets gtable刷新
EN

Stack Overflow用户
提问于 2011-07-04 03:15:30
回答 3查看 1.4K关注 0票数 8

我遇到了以下问题:

代码语言:javascript
复制
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的内容:

代码语言:javascript
复制
dd <- c(7,8,9)
dd <- as.data.frame(dd)

但是当我跑的时候

代码语言:javascript
复制
t1[] <- dd

我收到:Can't replace with fewer columns

Apostolos

EN

回答 3

Stack Overflow用户

发布于 2011-07-04 20:33:46

为了扩展John的答案,这里有一个例子。

代码语言:javascript
复制
#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问题。

票数 3
EN

Stack Overflow用户

发布于 2011-07-04 03:57:26

gtk小部件让您在构造时选择列的类型,因此gtable不允许您减少列或更改列类型。如果您真的想这样做,请将小部件放入ggroup容器中,然后删除并添加一个新的小部件。

票数 2
EN

Stack Overflow用户

发布于 2013-06-23 22:53:05

如果它只是关于刷新,而不是完全改变它的内容,我用这样的东西做了非常好的体验:

代码语言:javascript
复制
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 

一个完整的“刷新”可能如下所示:

代码语言:javascript
复制
win <- gtable(data.frame(a=rnorm(100),b=runif(100),d=FALSE),container=T)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6564995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档