我希望创建GUI,它可以接受用户的一些输入(例如,性别、年龄和种族作为可点击的类别),然后为每个输入分配一个用户ID (它将显示为GUI中的输出)。在引擎盖下面是GUI使用该用户输入创建的数据集(在本例中,它是4个变量:用户ID、性别、年龄和种族)。
以前有没有人创建过这样的GUI?有什么R包或代码推荐吗?
谢谢!
发布于 2011-11-05 11:51:58
有很多方法可以做到这一点。下面是一个使用附加软件包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
发布于 2011-11-05 18:32:23
有一个新的解决方案构建在RStudio之上。它是在useR2011中展示的,这里是海报的链接:
http://www.calvin.edu/~rpruim/talks/MosaicLightning/images/mosaicManipulate-poster.pdf
发布于 2014-03-23 14:50:51
我尝试过的另一个很好的选择是使用JavaFx和http://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm构建图形用户界面,在JavaFx中,只需使用JRI和http://rforge.net/JRI/,这将使您能够在JavaFx中使用R。
https://stackoverflow.com/questions/8017791
复制相似问题