我正在尝试使用字符向量在我的工作目录中创建一系列目录。没有任何递归,只是迭代。没有什么花哨。例如,我可以通过以下方式轻松完成:
lapply(state.name, dir.create)
在我的工作目录中创建美国所有州的50个目录。如果我想使用,我可以轻松删除它们:
unlink(state.name)
但是,我真正想做的是测试是否已存在任何目录,然后创建那些尚未存在的目录。我在这里找到了类似的问题:Check existence of directory and create if doesn't exist但我在Stack Exchange和其他Google搜索中找到的所有内容要么深入了解apply函数系列,要么解释如何在R中创建单个目录。递归检查和创建我想做的似乎并不存在。我已经提出了以下内容,它有点工作,但它实际上只是检查向量中的第一个条目。
if(!file.exists(state.name)) {lapply(state.name, dir.create)}
如果我尝试在file.exists中使用lapply函数,则会抛出错误。
非常感谢任何帮助。谢谢。
答案 0 :(得分:7)
lapply(state.name, function(x) if(!dir.exists(x)) dir.create(x))
答案 1 :(得分:2)
lapply(state.name[!state.name %in% dir()], dir.create)