Rのループに関係するすべての質問は、「ループが悪い」、「あなたは間違っています」というメッセージが表示され、list
またはtapply
またはそれ以外のものを使用するようにアドバイスしているようです。これはループの有効な実装ですか?
私はRを学んでいる、と因子レベルの#が、私はそれを実行するたびに変更することで、各因子のレベルのためのイメージファイルを作成するには、次のループを実装している:
for(i in unique(df$factor)) {
lnam <- paste("test_", i, sep="")
assign(lnam, subset(df, factor==i))
lfile <- paste(lnam, ".png", sep="")
png(file = lfile, bg="transparent")
with(get(lnam), hist(x, main = paste("Histogram of x for ", i, " factor", sep="")))
dev.off()
}
これは動作します。私はおそらくそれらのサブグループ(ファイルに出力される)に対してさまざまなテストを実行するためにそれを拡張したいと思っています。
これは有効かつ正当なループの使用ですか?または、この猫に皮膚をかけるための好ましい方法はありますか?
また、ループの外側で 'paste'関数を使うこともできます。 – csgillespie
ありがとう - 簡素化は理にかなっています。私は、生成されたデータフレームに他の "魔法"を実行しているかもしれません... @ ccsgillespieあなたのコメントは私を混乱させます。 – Trees4theForest
'lf = paste(" test_ "、levels(df $ factor)、" .png "、sep =" "'のようなものです。もちろん、あなたは ''私は何を繰り返しているかを変更する必要があります。この場合、それはあなたが行く道を変えることはありません。 – csgillespie