bio*_*ris 1 r working-directory filechooser
choose.dir函数参考页面有一个例子:
choose.dir(getwd(), "Choose a suitable folder")
Run Code Online (Sandbox Code Playgroud)
哪个应该在工作目录中启动文件夹选择窗口.但是我只在"我的电脑"中打开了文件夹选择窗口.这个功能有什么理由不按预期工作?
你是对的,你不应该使用choose.dir(),因为它是特定于操作系统的.我确实可以重现您报告的问题 - 我的猜测是它不会让您从属于"Root"用户的目录(无论Windows中可能意味着什么)开始,因为它似乎适用于其他目录,不在'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"
Run Code Online (Sandbox Code Playgroud)
有两个独立于操作系统的解决方案; 第一,因为它已被指出之前,是从使用下面的功能tcltk包:
library(tcltk)
setwd('~')
getwd()
# [1] "C:/Users/Root/Documents"
dir <- tclvalue(tkchooseDirectory()) # opens a dialog window in 'My Documents'
Run Code Online (Sandbox Code Playgroud)
第二是使用rChoiceDialogs包(要求rJava):
library(rJava)
library(rChoiceDialogs)
getwd()
# [1] "C:/Users/Root/Documents"
jchoose.dir() # opens the dialog window in "C:\\Users\\Root\\Documents"
Run Code Online (Sandbox Code Playgroud)