我经常发现自己在编写R脚本,生成大量输出.我发现把这个输出放进自己的目录更干净.我在下面写的内容将判断目录是否存在并移入其中,或者创建目录然后移入其中.有更好的方法吗?

mainDir <- "c:/path/to/main/dir"
subDir <- "outputDirectory"

if (file.exists(subDir)){
    setwd(file.path(mainDir, subDir))
} else {
    dir.create(file.path(mainDir, subDir))
    setwd(file.path(mainDir, subDir))

}
r

推荐答案

使用showWarnings = FALSE:

dir.create(file.path(mainDir, subDir), showWarnings = FALSE)
setwd(file.path(mainDir, subDir))

dir.create()不会崩溃如果目录已经存在,它只会打印一条警告.因此,如果你能忍受看到警告,那么这样做没有问题:

dir.create(file.path(mainDir, subDir))
setwd(file.path(mainDir, subDir))

R相关问答推荐

如何计算每个月和每年的总数?

如何在两个不同的数据帧上运行 cor.test()

如何在ggplot中将连续的x轴更改为离散的x轴?

将具有不同名称的嵌套列表转换为 data.frame 填充 NA 并添加列

合并三个不同行长的df

减少标题和表格之间的填充

R Plotly Bar Chart - 添加水平线标记

使用 dplyr 进行动态编程 - 使用动态输入改变多个动态列

将一行转换成combine,c()作为r中的向量,然后用向量计算余弦相似度

根据 R 中的出生年份分组人

如何根据 R 中的列内容将列名拉入新列

提取向量中某个符号最后一次出现后的字符

如何粘贴数据框行中的文本,仅在 R 中保留唯一值

在 qqnorm 图中添加一条直线

R Dataframe 重组和总结

使用 for 循环遍历方程中的两个不同的值序列

如果行数为奇数,则从数据框中删除随机行

通过匹配正则表达式将字符串分解为组件

一次对多个因子的水平进行排序

在 R 中拆分包含多个分隔符的字符串