在R中设置工作目录(跳转目录)

时间:2016-03-17 10:11:32

标签: r

如果我跳转文件夹,R不允许我将新创建的文件夹设置为工作目录。我并没有以这种方式设置工作目录,但我很好奇为什么它会表现出这种行为。

首先我设置我的工作目录:

original_directory <-setwd('C:/Users/rooirokbokkie/Documents')

现在我想在当前工作目录中创建两个文件夹,其中folder_2是folder_1的子文件夹:

dir.create(file.path('folder_1', 'folder_2'), recursive = TRUE)

当我尝试将folder_2设置为工作目录时:

setwd('folder_2')

我收到以下错误:

Error in setwd("folder_2") : cannot change working directory

但是如果我先将folder_1设置为工作目录,那么它可以工作:

setwd('folder_1')

setwd('folder_2')

getwd()

[1] C:/Users/rooirokbokkie/Documents/folder_1/folder_2" `

但是当我尝试备份一个文件夹时,它再次出现错误:

setwd('folder_1')

Error in setwd("folder_1") : cannot change working directory

但我可以再次设置我的原始工作目录:

setwd(original_directory)

getwd()

[1] "C:/Users/rooirokbokkie/Documents"

是什么给出了?

1 个答案:

答案 0 :(得分:1)

一个选项是指定folder_2的完整路径(如注释中所述)。

另一个选项,因为folder_2是folder_1的子文件夹,而folder_1位于当前工作目录中,您可以指定相对路径,但从当前工作目录开始。因此,为了将工作目录设置为folder_2,您需要指定:

setwd("folder_1/folder_2")

现在,如果您想来回跳跃,可以执行以下操作:

# capture the "old" working directory
old_dir <- getwd()
# set new wd to folder_2:
setwd("folder_1/folder_2")
# jump to folder_1:
setwd(paste0(old_dir, "/folder_1"))
# jump to original wd:
setwd(old_dir)