我正在尝试创建一个在R中设置工作环境的小功能
最后它只是一个函数,我可以指定我想要设置的文件夹结构
我想借此机会学习purrr
以下是我在项目中设置的代码,因此文件路径是固有的但我显然没有正确使用它
# Setup Project Folders
library('purrr')
my_folders <- data.frame(folder = c('scripts','sql','figs','results','data','ref_data','reports'))
walk(.f = dir.create(file.path(), showWarnings = FALSE),.x =my_folders)
有人可以帮忙吗?
谢谢
答案 0 :(得分:1)
此处的问题是dir.create
未向量化,但是,数据框上的walk
会将1列数据框传递给dir.create
,这会导致您看到的错误。
我的方法是使用by_row
确保将长度为1的元素传递给dir.create
,并强制强制为字符向量:
my_folders %>%
by_row(function(x) dir.create(as.character(x),
showWarnings = FALSE), .collate = "rows",
.to = "success")
仅当您的数据框具有单个列时,此选项才有效。为了使它更安全:
my_folders %>%
by_row(function(x) dir.create(as.character(x$folder),
showWarnings = FALSE), .collate = "rows",
.to = "success")
我很陌生,所以可能会有更好的方法......