我们只打印i,这里我们需要使用i 作为索引。假设'df1'是数据集
for (i in seq(from = 6, to = nrow(df1), by = 6)) {
print(df1[i,])
}
这个print 仅在控制台上,假设我们想将这些子集存储为单独的数据集
newdat <- df1[0,]
for (i in seq(from = 6, to = nrow(df1), by = 6)) {
newdat <- rbind(newdat, df1[i,])
}
newdat
使用内置数据集“mtcars”
newdat <- mtcars[0,]
for (i in seq(from = 6, to = nrow(mtcars), by = 6)) {
newdat <- rbind(newdat, mtcars[i,])
}
如果需要是函数
foo1 <- function(data, rn) {
newdat <- data[0,]
for (i in seq(from = rn, to = nrow(data), by = rn)) {
newdat <- rbind(newdat, data[i, rn])
}
return(newdat)
}
请注意,子集索引是矢量化的。所以,我们这里不需要任何循环
df1[seq(from = 6, to = nrow(df1), by = 6),]
或者使用逻辑回收索引
df1[rep(c(FALSE, TRUE), c(5, 1)),]