2017-02-14 5 views
2

だから私はこのようになりますデータがありますように変数を保存するときにfor()関数の代わりに使用できますか?

Merged[[1]] 
Date A B C 
01/01 1 2 3 

Merged[[2]] 
Date B1 B2 B3 
01/01 4 5 6 

とします。

Merged2 <- 0 
for (i in sig){ 
    Merged2 <- Merged[[i]] 
    FileName <- paste("Merged2",".csv", sep="") 
    write.csv(Merged2, file=FileName) 
} 

しかし当然、これが唯一のSIGに私は非常に最後に保存しています。私はそのようなことMergedDataのための特定のインデックスを使用して、新しい変数、Merged2を保存したいです。

Merged2 <- 0 
for (i in sig){ 
Merged2 <- Merged2[c(1, Merged[[i]])] 
} 

をしかし、それはTrendDataでエラー[C(1、MergedData [[I]])]を返します:私も試してみた無効な下付きタイプ 'リスト' を。

for()関数に頼る代わりにこれを行う方法がありますか?

+3

"Merged2.csv"という名前のファイルを何度も上書きしています。 –

+0

'paste0(" Merged2 "、sig、" .csv ")'などの部分を使って部分を区別することができます。 – thelatemail

+1

@MatthewLundbergああ、私は参照してください。だから私はfor()関数の外に置くべきです。また、注意してください。私はリンクを削除します。 – KeynesCrackpot

答えて

0

ほとんどの作業をベクトル化し、ループを使用してファイルを作成できます。ここに行くデータがなければ、私たちは行く...

## subset the Merged list by sig to get new list 
Merged2 <- Merged[sig] 
## create the file names 
Filenames <- paste0("Merged2", sig, ".csv") 
## here is the multivariate loop that creates the files 
Map(write.csv, x = Merged2, file = Filenames) 

期待されるNULLのリストはコンソールに出力されます。 list.files()を使用して、ファイルが存在することを確認できます。

関連する問題