我想将统计函数应用于数据帧越来越大的子集,从第1行开始,每次递增10行。因此第一个子集是1-10行,第二个行是1-20,最后的子集是行1-nrows。这可以在没有for循环的情况下完成吗?如果是这样,怎么样?
答案 0 :(得分:3)
这是一个解决方案:
# some sample data
df <- data.frame(x = sample(1:105, 105))
#getting the endpoints of the sequences you wanted
row_seq <- c(seq(0,nrow(df), 10), nrow(df))
#getting the datasubsets filtering df from 1 to each endpoint
data.subsets <- lapply(row_seq, function(x) df[1:x, ])
# applying the mean function to each data-set
# just replace the function mean by whatever function you want to use
lapply(data.subsets, mean)