1

另一个初学者问题。我在网上浏览了很多示例,但找不到可以帮助我定制我自己的 GUI 的这一部分的示例。

作为 GUI 的一部分,我正在拼凑我的 R 脚本,我需要能够从用户使用 filebrowse 命令选择的 .csv 文件中填充组合框。我可以看到如何从脚本中创建的矢量数据框填充组合框,但我不知道如何将新导入的文件与组合框连接起来。

#structure the main window
win1 <- gwindow( visible = TRUE)
g1 <- ggroup(container=win1, horizontal=FALSE)
df <- gfilebrowse("Select a csv file", container = g1)
#add two comboboxes, but how do I write this code to relate it to the user selected file?
cb1 <- gcombobox("X", cont = g1)
cb2 <- gcombobox("Y", cont = g1)

当用户选择 .csv 文件时,应使用 df 的列标题填充两个组合框。对于一个简单的关系,假设用户会选择 X 列和 Y 列。
接下来,这些选择的列变量 (X,Y) 应该可用于其他函数、方程、绘图等,可能通过按钮进行操作。我该怎么做?提前致谢

4

1 回答 1

1

扩展这种模式的东西应该可以工作。

library(gWidgets)

w <- gwindow("Testing", visible=FALSE)
g <- ggroup(cont=w, horizontal=FALSE)
fb <- gfilebrowse("Choose a CSV file", quote=FALSE,
                  filter = list("CSV files"=list(patterns="*.csv")),
                  cont=g)
cb <- gcombobox("", cont=g)

addHandlerChanged(fb, handler=function(h,...) {
  x <- read.csv(svalue(fb))
  cb[] <- colnames(x)
})

visible(w) <- TRUE
于 2013-04-15T14:40:43.073 回答