2011-01-22 4 views
3

Использование tk_choose.files или file.choose Я могу выбрать файл в интерактивном режиме. Есть ли аналогичная функция, в которой я могу позволить пользователю в интерактивном режиме решить, где сохранить вывод таблицы write.table?Сохранить файл в интерактивном режиме?

ответ

3

В Windows 7 и работает через RGUI, я могу указать что-то вроде:

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

который выскакивает открытый диалог Проводника Windows. Затем я могу перейти к любому существующему файлу, создать новый файл, щелкнув правой кнопкой мыши или просто набрав имя нового файла, где он попросит создать новый файл.

Я думаю, это может быть не независимым от платформы ... могут ли другие с соответствующей проверкой ОС?

+0

В версии консоли Linux это запрашивает имя файла; Работы по заполнению вкладки. – ulidtko

0

@Chase - это работает в OS X (Eclipse и StatET). По крайней мере, я пытался писать data.frame (DF) в виде файла CSV:

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

Вы не можете сделать многое, кроме перезаписывания существующего файла. Щелчок правой кнопкой мыши, чтобы выбрать новый файл в этом диалоговом окне, не работает в osx. – Maiasaura

+1

С StatET/Eclipse на OS X вы получаете диалоговое окно, в котором вы можете добавить имя для нового файла. – user441706

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)) 
} 
Смежные вопросы