5

Using tk_choose.files or file.choose I am able to select a file interactively. Is there an analogous function wherein I can allow a user to interactively decide where to save the output of a write.table?

4 Answers 4

6

On Windows 7 and working through the RGUI, I can specify something like:

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

which pops open a Windows Explorer dialogue. I can then navigate to any existing file, create a new file by right clicking, or simply by typing the name of a new file where it will ask to create a new file.

I guess this may not be platform independent...can others with the appropriate OS's verify?

Sign up to request clarification or add additional context in comments.

1 Comment

In Linux console version this prompts for a filename; tab-completion works.
2

Try

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

1 Comment

For those searching - the non-documented but valid arguments are: confirmoverwrite, defaultextension, filetypes, initialdir, initialfile, parent, title, typevariable
2

Old question, but after a long search I found that the tcltk2 package now exists as an improvement of tcltk:

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

Comments

0

@Chase - this works in OS X (Eclipse and StatET). At least, I tried writing a data.frame (df) as a CSV file:

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

2 Comments

You can't really do much other than overwrite an existing file. Right clicking to choose a new file in this dialog doesn't work on osx.
With StatET/Eclipse on OS X you get a dialog window in which you can add a name for a new file..

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.