R& gwidgets2 - 从gRadio小部件收集值

时间:2016-06-16 18:40:39

标签: r gwidgets

我的问题非常基本(我是R的初学者)。我正在尝试收集从gradio小部件中选择的值(R的gwidgets2包)。

我使用的是与此简化的脚本类似的脚本:

U=vector(mode="character")

DF=function() {
Win=gbasicdialog(handler=function(h,...) {
T=svalue(A)
print(T)
# I can print but not assign the value using : assign (U,T, .GlobalEnv)
})
A<-gradio(c("1","2","3"), selected=1,container=Win,)
out <- visible(Win)
}

DF()

使用此脚本,我可以打印在gradio小部件中选择的值,但是当我尝试将此值分配给传递给全局环境的另一个变量时,我收到错误。

奇怪的是,这个脚本结构可以很好地从其他小部件(如gtable)收集值。我做错了什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我不确定出了什么问题,但能够通过一些小改动来运行您的代码:

DF <- function() {
  Win <- gbasicdialog(
    handler = function(h, ...) {
      .GlobalEnv$varT = svalue(A)
      print(varT)
    }
  )
  A   <- gradio(c("1", "2", "3"), selected = 1, container = Win)
  out <- visible(Win)
}

DF()

一个小建议:避免使用单个字母T或F,因为在代码中T可能被解释为TRUE而不是对象T.