【问题标题】:Use apply functions dir.exist and dir.create使用应用函数 dir.exist 和 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 一起使用,则会引发错误。

非常感谢任何帮助。谢谢。

【问题讨论】:

    标签: r


    【解决方案1】:
    lapply(state.name, function(x) if(!dir.exists(x)) dir.create(x))
    

    【讨论】:

    • 谢谢!这就是我一直在寻找的。我是新的,我错过了一些简单的东西。
    【解决方案2】:
    lapply(state.name[!state.name %in% dir()], dir.create)
    

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 2021-08-01
      • 2019-08-20
      • 1970-01-01
      相关资源
      最近更新 更多