2011-01-22 82 views
3

使用tk_choose.filesfile.choose我可以交互式地选择一个文件。有没有类似的功能,我可以让用户交互决定在哪里保存write.table的输出?交互式保存文件?

回答

3

在Windows 7上,并通过RGUI工作,我可以指定类似:

write.table(x = iris, file = file.choose()) 

,弹出打开Windows资源管理器的对话。然后,我可以导航到任何现有的文件,通过右键单击创建一个新文件,或者只需键入要求创建新文件的新文件的名称。

我想这可能不是平台独立的......其他人可以与相应的操作系统的验证?

+0

在Linux控制台版本中会提示输入文件名;标签完成作品。 – ulidtko 2011-01-23 04:20:52

0

@Chase - 这在OS X(Eclipse和StatET)中可用。至少,我试着写一个data.frame(DF)为CSV文件:

write.csv(x = df, file = file.choose()) 
+0

除了覆盖现有的文件之外,你无法真正做得更多。在该对话框中右键点击选择一个新文件在osx上不起作用。 – Maiasaura 2011-01-22 22:46:04

2

尝试

val <- tkgetSaveFile(initialfile="", title="Save a file...") 
f <- tclvalue(val) 
if(f != "") ... 
1

老问题,但经过长时间的搜寻后,我发现tcltk2包现在存在的改进为tcltk

library(tcltk2) 
filename <- tclvalue(tkgetSaveFile()) 
if (!nchar(filename)) { 
    tkmessageBox(message = "No file was selected!") 
} else { 
    tkmessageBox(message = paste("The file selected was", filename)) 
}