R Windows OS choose.dir() File chooser won't open at working directory

前端 未结 1 1457

The choose.dir function reference page there is an example:

choose.dir(getwd(), \"Choose a suitable folder\")

Which should start the folder

1条回答
  •  一整个雨季
    2020-12-11 12:23

    You are right in that you should not use choose.dir(), as it is OS-specific. I can indeed reproduce the issue you report - my guess is that it won't let you start in a directory that belongs to the "Root" user (whatever that may mean in Windows), because it seems to work well for other directories, not under 'Root':

     getwd()
     # [1] "C:/Users/Root/Documents"
     choose.dir(getwd(), "Choose a suitable folder") # leads to 'Computer'
    
     setwd("C:/datathon")
     choose.dir(getwd(), "Choose a suitable folder") # select subfolder 'scripts', works OK
     # [1] "C:\\datathon\\scripts"
    

    There are two OS-independent solutions; the first, as it has been pointed out before, is to use the following functionality from the tcltk package:

     library(tcltk)
     setwd('~')
     getwd()
     # [1] "C:/Users/Root/Documents"
     dir <- tclvalue(tkchooseDirectory())  # opens a dialog window in 'My Documents'
    

    The second is to use the rChoiceDialogs package (requires rJava):

     library(rJava)
     library(rChoiceDialogs)
     getwd()
     # [1] "C:/Users/Root/Documents"
     jchoose.dir()  # opens the dialog window in "C:\\Users\\Root\\Documents"
    

    0 讨论(0)
提交回复
热议问题