2016-11-22 68 views
-2

我想爲不同的時間段保存文件名summer的子集,範圍從1到10.lm1將讀取第一次block.lm2的數據,第二次block &等。我在下面寫了循環,但它不起作用。請問這個問題?我的for循環給出錯誤

library(openxlsx) 
Master=read.xlsx("Master File from Apr-11 to Feb-15.xlsx",sheet="Sheet1") 
summer=subset(Master, Season=="Winter") 
for (i in 1:10) { 
print(i) 
lm[i]=subset(summer,Block==i) 

} 
+2

你也可以考慮'split(summer,summer $ Block)'。 – Frank

回答

0

我的建議是將您的數據存儲到列表中。您可以使用lapplysapply對其進行處理。

out <- vector("list", 10) 

for (i in 1:10) { 
    message(sprintf("Processing iteration number %s", i)) 
    out[[i]] <- subset(summer, Block == i) 
} 
+0

它正在工作,但我想保存每個Out [1],Out [2]等格式爲csv格式爲out1.csv,out2.csv。我該怎麼辦。 – Engg

+0

@Engg您可以迭代每個元素,並隨心所欲地做任何事情。你可以試試'sapply'或'lapply'。 –