2017-02-14 36 views
2

所以我有一個看起來像這樣的數據:保存變量時用於()函數的替代方法?

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

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

等。我要救一個新的變量,Merged2,使用特定的指數MergedData這樣的:

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

但勿庸置疑,這不僅節省了非常最後我的簽名。我也試過:

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

但隨後在TrendData返回錯誤[C(1,MergedData [我]])]:無效標類型 '列表'。

是否有替代方法來做到這一點,而不是依靠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()來檢查文件是否存在。

相關問題