将字符串向量写入字符串

时间:2017-10-11 15:59:31

标签: r string vector batch-processing

我有一个字符串向量:

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 明确地赢得了四季是由早期代码生成的。

0 个答案:

没有答案