我有一个字符串向量:
seasons <- c("S200304","S200506","S200708")
我有一个脚本应该将字符串写入一系列新的.R脚本文件,然后运行每个生成的.R文件。
for (i in 1:length(seasons)){
### Generate a string to write to each .R file
str <- paste0("
seasons <- c(",toString(seasons),")
season <- seasons[",i,"]
source('./a_separate_script_to_get_results.R')
save(results,file=paste(season,\"output.rda\",sep=\"_\"))
")
### Write each .R file
write(str, file=paste0("run_",i,".R"))
### Run all .R files
system(paste0("Rscript run_",i,".R"),wait = F)
}
此脚本应生成三个名为 run_1.R , run_2.R 和 run_3.R 的.R文件,所有这些文件都应该是然后同时运行以分别输出三个名为 S200304_output.rda , S200506_output.rda 和 S200708_output.rda 的结果文件。
但是,编写 season 向量的命令不会将对象写为字符串,因此第二行不能将 season 分配给的第一个元素>季节,其余的都失败了。新的.R文件已生成但未运行,因为 seasons 在每个文件中写为
seasons <- c(S200304,S200506,S200708)
season 向量确实需要写在每个.R文件中,那么如何将这个字符串向量写入字符串呢?我之前使用过这段代码,但最初的 season 向量没有填充字符串,所以它运行没有任何问题。定义 season 明确地赢得了四季是由早期代码生成的。