forループでcsvファイルを書きたいと思います。変数x
をシンプルにするために、3行のデータフレームdata
があるとします。結局のところ、私の出力は200個の.csvファイルになり、それぞれに1行のデータが含まれています。データの最初の列は、私の変数のID( "ID")です。forループで.csvを書いてください。
さらに、私のデータは、次のように説明されています
data:
ID x
[1] a 1
[2] b 2
[3] c 3
for (i in nrow(data)){
write.csv(data[i,2], file = paste0("Directory/", "data[i,1], ".csv"))
}
私はこのコードとcsvファイルが作成される実行します。しかし、最後の行だけが作成されます。つまり、1つのファイルc.csv
で見つけられます。
私が間違っていることを知っていますか?すべてのアーカイブを自動的に作成すると思った。結果をリストに保存してからエクスポートする必要がありますか?
おそらく私は誤カウントしていますが、あなたの引用符で何かが外れているようです。コード1:1をコピー&ペーストしましたか? – patrick
'nrow(data)'は1つの数字であり、反復する数字の束ではありません。 '1:nrow(data)'または 'seq(nrow(data))'が必要です。あるいは 'lapply'を使うだけです。また、data [i、1] 'に余分な引用があります。 – alistaire
@Rafaelの答えは素晴らしいですが、コードがうまくいかない理由を説明するには複雑すぎるかもしれません。 (data [i、2]、file = paste0( "ディレクトリ/ファイル名")を指定してください。 "、data [i、1]、" .csv ")) } また、Rの一般的なヒントはあなたのデータを"データ "と呼ぶことはありません。 – paleo13