2017-04-11 80 views
0

我有一個小問題,在loop 'for'ř分裂在R和「for」循環

我關於分裂的一列中的數據。我想爲分割文件應用'for' loop

我該怎麼做?

input_data <- read.csv2("C:/Users/justyna.andrulewicz/Desktop/R estimator/data2.csv", sep=",") 
data <- as.data.frame(input_data) 
z <-data$Id 
zz <-split(data, z, drop = FALSE) 

我可以定義爲一個對象的一個​​特定羣體像:

zz_1<-zz[[1]] 

,但它不是足以讓我:因爲在我的問題,我不知道它會在多少組d分割文件。

請給任何建議給我。

+2

它不清楚你實際上想要達到什麼。 –

+1

'lapply(ZZ,FUN = ...)'是你的朋友。 ('sapply()'類似)。順便說一句: read.csv2的'()的結果'是一個數據幀,即沒有必要'數據< - as.data.frame(input_data)'。短:'ZZ < - 斯普利特(input_data,input_data的$ id)' – jogo

回答

0

在這種情況下,你可以這樣

for (i in 1: length(z)){ 
z[[i]] 
} 

編輯創建索引:

如康拉德·魯道夫建議:

更重要的是,當然是直接遍歷的對象。在這種情況下,只要做

for (i in z){ 
print(i) # or do whatever you want  
} 
+2

通常應該(總是?)避免使用'1:長度(...)'因爲它會爲空集合錯誤的事情。相反,你應該使用'seq_along(...)'。當然,更好的是直接遍歷對象。在這種情況下,只需做'for(i in z)'。 –