2013-11-21 8 views
1

Я очень новичок в R, и я пытаюсь создать графический интерфейс с использованием пакета Tcltk. Я не уверен, как работает «tkGetOpenFile». Я подумал, что, используя эту функцию, он откроет и удерживает мой набор данных в рабочем пространстве RStudio. Но единственное, что происходит, это всплывающее окно для выбора файла.Создание GUI с Tcltk

Код, который я использую, приведен ниже.

Пожалуйста, помогите мне !!!

require(tcltk) 
readCsv <- function(){ 
myval <- tkgetOpenFile() 
mydata <- read.csv(paste(as.character(myval), collapse = " ")) 
assign("myData", mydata, envir = .GlobalEnv) 
} 

tt <- tktoplevel() 
topMenu <- tkmenu(tt)   
tkconfigure(tt, menu = topMenu) 
fileMenu <- tkmenu(topMenu, tearoff = FALSE) 
tkadd(fileMenu, "command", label = "Quit", command = function() tkdestroy(tt)) 
tkadd(fileMenu, "command", label = "Load", command = function() readCsv()) 
tkadd(topMenu, "cascade", label = "File", menu = fileMenu) 
tkfocus(tt) 

ответ

3

Вы должны использовать функцию tclvalue, чтобы получить R символов строковое представление переменной Tcl. Измените свою функцию следующим образом:

readCsv <- function(){ 
    myval <- tclvalue(tkgetOpenFile()) # add `tclvalue` here 
    mydata <- read.csv(myval) # then `myval` is a character string 
    assign("myData", mydata, envir = .GlobalEnv) 
} 
+0

Большое спасибо !!!! Вы спасли мою жизнь! :-) – user2993749

Смежные вопросы