我有这个数据框:
structure(list(ABEV3 = c(15.2, 14.9, 15.22, 15.15, 15.18, 15.46,
15.49, 15.5, 15.37, 15.49, 15.64, 15.38, 15.3, 15.01, 14.75,
14.9, 14.77, 14.61, 14.21, 14.07, 14.1, 14.17, 14.55, 14.57,
16.46), AEDU3 = c(9.01, 8.56, 8.66, 8.64, 8.44, 8.52, 8.29, 8.27,
8.33, 8.26, 8.66, 8.49, 8.46, 8.4, 8.5, 8.46, 8.4, 8.39, 8.5,
8.68, 8.53, 8.73, 8.31, 7.85, 10.99), ALLL3 = c(7.71, 7.81, 7.57,
7.27, 7.29, 7.07, 7.11, 7.17, 7.27, 7.24, 7.1, 7.1, 7.1, 7.14,
6.79, 6.65, 6.75, 6.93, 7.09, 7.11, 6.95, 6.75, 7, 6.8, 6.64),
BBAS3 = c(22.85, 22.78, 22.8, 22.22, 22.51, 21.11, 20.84,
20.79, 20.67, 20.9, 19.82, 18.95, 18.7, 18.84, 19.13, 19.25,
19.22, 19.38, 19.56, 19.92, 20.37, 20.37, 19.96, 19.19, 19.47
)), class = "data.frame", row.names = c(NA, 25L))
我喜欢在另外10个数据帧中切割这个数据帧,这将是我的样本,并将其放在一个列表中 .
我这样做了:
library(dplyr)
k_day_regressions = c(5,8,10,12,14,16,18,20,22,25)
dataraw.samples<-list()
for (i in 1:length(k_day_regressions)) {
dataraw.samples[[i]]= slice(dataraw.1, 1:k_day_regressions[i])
}
dataraw.samples
所以,我有10个样本 .
如何使用具有子集功能的LAPPLY函数执行此操作 . 我这样做而且不起作用 .
谢谢
3 回答
您可以使用基本R和无循环执行此操作 . 创建一个拆分变量
f
,然后创建split
数据框 .干得好:
一些替代方法 .
一个
dplyr
:您可以将其保存为
df2
并将每个子数据帧作为df2$data[[1]]
等访问 .一个
purrr
:返回包含10个元素(子数据帧)的列表 .