Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么R包或代码可用于构建定制GUI?_R_User Interface - Fatal编程技术网

什么R包或代码可用于构建定制GUI?

什么R包或代码可用于构建定制GUI?,r,user-interface,R,User Interface,我希望创建一个GUI,从用户那里接收一些输入(例如,性别、年龄和种族作为可点击的类别),然后为每个输入分配一个用户ID(在GUI中显示为输出)。在引擎盖下是GUI使用此用户输入创建的数据集(在本例中,它将是4个变量:用户ID、性别、年龄和种族) 以前有人创建过这样的GUI吗?有R包或代码建议吗 谢谢 有很多方法可以做到这一点。下面是一个使用附加包gWidgets的示例。应使用RGtk2或tcltk后端 library(gWidgets) items <- data.frame(id=num

我希望创建一个GUI,从用户那里接收一些输入(例如,性别、年龄和种族作为可点击的类别),然后为每个输入分配一个用户ID(在GUI中显示为输出)。在引擎盖下是GUI使用此用户输入创建的数据集(在本例中,它将是4个变量:用户ID、性别、年龄和种族)

以前有人创建过这样的GUI吗?有R包或代码建议吗


谢谢

有很多方法可以做到这一点。下面是一个使用附加包gWidgets的示例。应使用RGtk2或tcltk后端

library(gWidgets)
items <- data.frame(id=numeric(0), gender=character(0), age=numeric(0), race=character(0), stringsAsFactors=FALSE)
genders <- c("Male", "Female")
race <- c("Black", "Hispanic", "Other")

w <- gwindow("Capn's GUI", visible=FALSE)
g <- ggroup(cont=w, horizontal=FALSE)
lyt <- glayout(cont=g)
lyt[1,1] <- "Gender:"
lyt[1,2] <- gradio(genders, cont=lyt)

lyt[2,1] <- "Age:"
lyt[2,2] <- gedit("40", coerce.with=as.numeric, cont=lyt)

lyt[3,1] <- "Race:"
lyt[3,2] <- gcombobox(race, selected=0L, cont=lyt)

lyt[4,2] <- gbutton("Add", cont=lyt, handler=function(h,...) {
  vals <- lapply(lyt[1:3, 2], svalue)
  id <- nrow(items) + 1                 # or roll your own
  items[id, ] <<- c(id, vals)
  tbl[] <- items
})
gseparator(cont=g)
tbl <- gtable(items, cont=g)


visible(w) <- TRUE
库(gWidgets)

items在RStudio之上构建了一个新的解决方案。它是在useR2011中发布的,以下是该海报的链接:


我尝试的另一个不错的选择是使用JavaFx构建GUI,在JavaFx GUI中,只需使用JRI,这将使您能够在Java中使用R。

这个问题可能会得到很好的完整答案。那么基于web的GUI呢,例如,存在Apache模块,或者您对与R紧密相关的GUI感兴趣吗,如果你愿意接受基于网络的调查,那么有一些好的系统和一些好的R软件来分析这些标准调查系统的输出。由你决定,我只是要求澄清你的需求。@Iterator:没错。R作为调查(传导)工具?或者更确切地说,是针对不喜欢控制台的人的一些交互式分析?墨菲队长:加州大学洛杉矶分校?你不能问问杰伦吗?在基于web的R GUI方面,不要认为有很多人比他更好。对于非rstudio用户,您可以使用与Tal完全相同的方式使用gWidgetsManipulate。这个软件包目前不在cran上,而是r-forge上:@jverzani
gWidgetsManipulate
的命运是什么?它是否已移植到
gWidgets2
?我认为在CRAN上有一个非RStudio操作类包会很好。这里有一个示例: