我有一个名为BP
的函数(参见下面的R代码)。此功能:(1)创建一个文件夹。 (2)将文件夹设置为工作目录。 (3)创建两个图。 (4)将每个绘图保存为在(1)中创建的文件夹中的png
文件。
如果我运行此功能超过1次,我会收到以下错误消息:
Warning message:
In dir.create(x) : 'C:\Users\...\Documents\Animation' already exists
我该如何使用此功能"覆盖"每次运行后它创建的上一个文件夹?
BP = function(){
################################ # set working directory to "home"
setwd("~")
x <- paste0(getwd(), "/", "Animation") # Define the path & name of a new folder
dir.create(x) # create the new folder with name above
setwd(x) # set this just created folder as Work.Direc.
################################ # Create two plots save them as png in the above
# folder
for(i in 1:2) {
png(paste0("plot_", i, ".png"), width = 1200, height = 1300, res = 200)
plot( rnorm(1e2) )
dev.off()
}
}
## Test Here:
BP()
答案 0 :(得分:2)
每次调用函数时都不需要创建新文件夹。使用file.exists
检查文件夹是否存在(尽管它的名称也适用于文件夹)。仅创建文件夹(如果尚不存在)。
如果您需要在每个函数调用中清空文件夹,可以使用
执行此操作file.remove(list.files(x, full.names = TRUE))