R ファイルまたはスクリプトを読み取り、読み取られている外部データ ファイルの名前を変更し、変更された R コードを新しい R ファイルまたはスクリプトにエクスポートしたいと考えています。読み取られるデータ ファイルの名前 (および新しい R ファイルの名前) 以外は、2 つの 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 ファイルには空白行が 1 行ありますが、元の R スクリプトに存在するすべての空白行を挿入するにはどうすればよいですか? アドバイスありがとうございます。
編集: ここで StackOverflow で空白行を複製することはできないようです。それらは自動的に削除されるようです。StackOverflow は、私が使用しているインデントを削除していて、それを置き換えることができないようです。これにつきましては申し訳ございません。空白行とインデントの自動削除は、目前の問題が特にフォーマットに関するものである場合に問題があります。スクリプトでフォーマットされたRコードを表示するように投稿を修正できないようです。ただし、投稿を積極的に編集している場合、コードは正しく表示されます。
編集: 2013 年 6 月 27 日: 元の R ファイルのコードと中間の R ファイルのコードでの空の行とインデントの削除は、StackOverflow ではなく私のラップトップに関連付けられているようです。この投稿と回答をオフィスのデスクトップで表示すると、形式は正しいです。この投稿と回答をラップトップで表示すると、空の行とインデントがなくなります。ラップトップのモニターが故障している可能性があります。問題が StackOverflow にあると最初に想定して申し訳ありません。