我想读取 R 文件或脚本,修改正在读取的外部数据文件的名称并将修改后的 R 代码导出到新的 R 文件或脚本中。除了正在读取的数据文件的名称(以及新 R 文件的名称)之外,我希望两个 R 脚本相同。
我可以接近,除了我不知道如何保留我用于可读性和减少错误的空行。
这是正在读取的原始 R 文件。请注意,此文件中的某些代码是无意义的,但对我来说这无关紧要。此代码不需要运行。
# apple.pie.all.purpose.flour.arsc.Jun23.2013.r
library(my.library)
aa <- 10 # aa
bb <- c(1:7) # bb
my.data = convert.txt("../applepieallpurposeflour.txt",
group.df = data.frame(recipe =
c("recipe1", "recipe2", "recipe3", "recipe4", "recipe5")),
covariates = c(paste( "temp", seq_along(1:aa), sep="")))
ingredient <- c('all purpose flour')
function(make.pie){ make a pie }
这是我用来读取上述文件、修改并导出结果的 R 代码。此 R 代码运行并且是唯一需要运行以实现所需结果的代码(除了我无法使新 R 脚本的格式与原始 R 脚本的格式完全匹配,即原始 R 中存在空白行新的 R 脚本中不存在脚本):
setwd('c:/users/mmiller21/simple r programs/')
# define new fruit
new.fruit <- 'peach'
# read flour file for original fruit
flour <- readLines('apple.pie.all.purpose.flour.arsc.Jun23.2013.r')
# create new file name
output.flour <- paste(new.fruit, ".pie.all.purpose.flour.arsc.Jun23.2013.r", sep="")
# add new file name
flour.a <- gsub("# apple.pie.all.purpose.flour.arsc.Jun23.2013.r",
paste("# ", output.flour, sep=""), flour)
# add line to read new data file
cat(file = output.flour,
gsub( "my.data = convert.txt\\(\"../applepieallpurposeflour.txt",
paste("my.data = convert.txt\\(\"../", new.fruit, "pieallpurposeflour.txt",
sep=""), flour.a),
sep=c("","\n"), fill = TRUE
)
这是生成的新 R 脚本:
# peach.pie.all.purpose.flour.arsc.Jun23.2013.r
library(my.library)
aa <- 10 # aa
bb <- c(1:7) # bb
my.data = convert.txt("../peachpieallpurposeflour.txt",
group.df = data.frame(recipe =
c("recipe1", "recipe2", "recipe3", "recipe4", "recipe5")),
covariates = c(paste( "temp", seq_along(1:aa), sep="")))
ingredient <- c('all purpose flour')
function(make.pie){ make a pie }
新创建的 R 文件中有一个空行,但是如何插入原始 R 脚本中存在的所有空行?谢谢你的任何建议。
编辑:我似乎无法在 StackOverflow 上复制空白行。它们似乎被自动删除了。StackOverflow 甚至删除了我正在使用的缩进,我似乎无法替换它。为此表示歉意。当手头的问题专门与格式有关时,自动删除空行和缩进是有问题的。我似乎无法修复帖子以显示我的脚本中格式化的 R 代码。但是,当我积极编辑帖子时,代码确实可以正确显示。
编辑:2013 年 6 月 27 日:在原始 R 文件的代码和中间 R 文件的代码中删除空行和缩进似乎与我的笔记本电脑相关联,而不是与 StackOverflow 相关联。当我在办公室桌面上查看这篇文章和我的答案时,格式是正确的。当我用笔记本电脑查看这篇文章和我的答案时,空行和缩进都消失了。也许我的笔记本电脑显示器出现故障。很抱歉最初假设问题出在 StackOverflow 上。