在R和“for”循环中拆分

在R和“for”循环中拆分,r,loops,split,R,Loops,Split,我对R中的循环“for”有一个小问题 我正在拆分其中一列的数据。我想为拆分的文件应用“for”循环 我该怎么做 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) 我可以将一个

我对R中的循环“for”有一个小问题

我正在拆分其中一列的数据。我想为拆分的文件应用“for”循环

我该怎么做

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,因为在我的问题中,我不知道拆分文件中会有多少组


请给我任何建议。

在这种情况下,您可以创建如下索引

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

正如康拉德·鲁道夫所言:

当然,更好的方法是直接迭代对象。在这种情况下,就这么做吧

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

你应该总是这样吗?避免使用1:length…因为它将对空集合执行错误的操作。相反,您应该使用seq_…。当然,更好的方法是直接迭代对象。在这种情况下,只需在z中为i做些什么。不清楚您实际想要实现什么。lapplyz,FUN=。。。他是你的朋友。Sappy也是如此。顺便说一句:read.csv2的结果是一个数据帧,即不需要数据