R 使用setwd()指定目录

R 使用setwd()指定目录,r,working-directory,R,Working Directory,我知道在R中,要设置我的工作目录,我可以执行以下操作: setwd("~/dir1/dir2/mydir") 如果mydir是一个唯一的目录名,有没有办法指定工作目录而不声明dir1/dir2 谢谢你。glob做你想做的事: setwd(Sys.glob("~/*/*/mydir")) 如果不知道嵌套的深度,可以使用list.files或dir: list.files(path="~", pattern="mydir", all.files=TRUE, full.names=TRUE,

我知道在R中,要设置我的工作目录,我可以执行以下操作:

setwd("~/dir1/dir2/mydir")
如果mydir是一个唯一的目录名,有没有办法指定工作目录而不声明dir1/dir2


谢谢你。glob做你想做的事:

setwd(Sys.glob("~/*/*/mydir"))
如果不知道嵌套的深度,可以使用
list.files
dir

list.files(path="~", pattern="mydir", all.files=TRUE, full.names=TRUE,
  recursive=TRUE, ignore.case=FALSE, include.dirs=TRUE)

我把你的问题解释为希望计算机自动找到目录,这可能会很困难。您必须使用某种系统工具来搜索目录(在Windows、MacOS和Linux上可能不同,也可能不存在)。在正确设置的Linux系统上,您可能能够使用类似于
setwd(system(“locate mydirname”,intern=TRUE))
…您应该能够构造一个模式,允许在找到“mydir”之前使用任意数量的斜杠。我会;不过,我不想在我的设备上设置它。我需要用
list.dirs()
中断我的测试。我不确定。。。似乎不允许使用括号中的子表达式(例如,
“~/(*/)+mydir”