我正在使用Tcltk软件包创建GUI,我想知道是否有办法重命名我导入的数据集。基本上,我希望用户为他导入的数据集选择一个名称,但下面的代码并没有给我这个。我尝试做的是与导入文件时RStudio相同的概念。 有人能指出我正确的方向吗?
提前谢谢!
require(tcltk)
tt <- tktoplevel()
tkwm.title(tt, "Read Text Data")
dsName <- tclVar("Dataset")
entry.Name <-tkentry(tt,width="20",textvariable=dsName)
entry.box <- tklabel(tt,text="Please enter dataset name:")
tkgrid(entry.box, entry.Name)
tkgrid(tklabel(tt,text=""))
onOk <- function()
{
myval <- tclvalue(tkgetOpenFile())
myData <<- read.table(myval, header=TRUE, sep=",", dec = ".")
}
OK.but <- tkbutton(tt,text=" Import ",command=onOk)
Qt.but <- tkbutton(tt,text=" Cancel ",command=function()tkdestroy(tt))
tkgrid(OK.but, Qt.but)
tkfocus(tt)
答案 0 :(得分:2)
而不是这一行:
myData <<- read.table(myval, header=TRUE, sep=",", dec = ".")
尝试类似:
myData <- read.table(myval, header=TRUE, sep=",", dec = ".")
assign(tclvalue(dsName), myData, envir = .GlobalEnv)
虽然您可能想要envir = .GlobalEnv
其他内容(如果您计划将其放在CRAN上,则无法以这种方式分配到全局环境,而是必须使用用户创建的环境)。
其他一些说明:
tkdestroy
功能结束时拨打onOK
。