使用应用函数 dir.exist 和 dir.create
Posted
技术标签:
【中文标题】使用应用函数 dir.exist 和 dir.create【英文标题】:Use apply functions dir.exist and dir.create 【发布时间】:2017-04-04 11:52:57 【问题描述】:我正在尝试使用字符向量在我的工作目录中创建一系列目录。没有递归,只是迭代。没有什么花哨。例如,我可以很容易地做到这一点:
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)
如果我尝试将 lapply 函数与 file.exists 一起使用,则会引发错误。
非常感谢任何帮助。谢谢。
【问题讨论】:
【参考方案1】:lapply(state.name, function(x) if(!dir.exists(x)) dir.create(x))
【讨论】:
谢谢!这就是我一直在寻找的。我是新的,我错过了一些简单的东西。【参考方案2】:lapply(state.name[!state.name %in% dir()], dir.create)
【讨论】:
以上是关于使用应用函数 dir.exist 和 dir.create的主要内容,如果未能解决你的问题,请参考以下文章