R ОС Windows choose.dir() Средство выбора файлов не открывается в рабочем каталоге
На справочной странице функции choose.dir приведен пример:
choose.dir(getwd(), "Choose a suitable folder")
Который должен запустить окно выбора папки в рабочем каталоге. Однако у меня открывается окно выбора папки только в "Мой компьютер". По каким причинам эта функция может работать не так, как задумано?
1 ответ
Вы правы в том, что вы не должны использовать choose.dir()
, так как это зависит от ОС. Я действительно могу воспроизвести проблему, о которой вы сообщаете, - я предполагаю, что она не позволит вам начать работу с каталогом, который принадлежит "корневому" пользователю (что бы это ни значило в 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"
Есть два независимых от ОС решения; Во-первых, как уже указывалось ранее, необходимо использовать следующие tcltk
пакет:
library(tcltk)
setwd('~')
getwd()
# [1] "C:/Users/Root/Documents"
dir <- tclvalue(tkchooseDirectory()) # opens a dialog window in 'My Documents'
Во-вторых, использовать rChoiceDialogs
пакет (требуется rJava
):
library(rJava)
library(rChoiceDialogs)
getwd()
# [1] "C:/Users/Root/Documents"
jchoose.dir() # opens the dialog window in "C:\\Users\\Root\\Documents"