对于我想使用R编写的脚本,我有一个小问题。问题如下:
我有一个很长的脚本,其中生成文件夹,并且对工作目录进行多次设置。而且,由于我不是唯一将使用此脚本的人,所以我想以一种方式编写它,即每个人都只需更改一次定义为XXX
的目录。这意味着USER_1可以使用如下所示的代码,而USER_2只需更改XXX
的定义。
我试图通过以下方式做到这一点:
XXX <- "C:/users/USER_1/Desktop"
setwd(XXX)
path_Folder1 <- "XXX"
new_Folder1 <- "MainFolder/"
dir.create(file.path(dirname(path_Folder1), new_Folder1))
path_Subfolder1 <- "XXX/MainFolder/."
new_Subfolder <- "Subfolder/"
dir.create(file.path(dirname(path_Subfolder1), new_Subfolder))
设置工作目录以及创建第一个文件夹都很好。但是,对于子文件夹,我收到此错误消息:
Warning message:
In dir.create(file.path(dirname(path_Subfolder1), new_Subfolder)) :
cannot create dir 'XXX\MainFolder\Subfolder', reason 'No such file or directory'
我是否想向此代码添加一些内容?还是有可能解决这个问题?
非常感谢您的帮助!
答案 0 :(得分:1)
类似以下的方法应该起作用:
# Let users change this variable
personal_dir <- "C:/users/USER_1/Desktop"
# Create main folder
main_folder <- "Mainfolder"
main_folder_path <- file.path(personal_dir, main_folder)
dir.create(main_folder_path)
# Create sub folder
sub_folder <- "Subfolder"
sub_folder_path <- file.path(personal_dir, main_folder, sub_folder)
dir.create(sub_folder_path)
我认为您的代码无法正常工作的原因是您在引号之间使用了XXX
,即它被当作文字字符串处理,而不是指向保存值的指针。