在R和“for”循环中拆分
我对R中的循环“for”有一个小问题 我正在拆分其中一列的数据。我想为拆分的文件应用“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) 我可以将一个
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的结果是一个数据帧,即不需要数据