datta
当我使用以下代码从数据框创建引导样本时
boot1a <- replicate(3, do.call("rbind", lapply(sample(unique(datta$pid),2000,replace=TRUE), function(x) datta[datta$pid==x,])), simplify=FALSE)
boot1b <- data.frame(boot1a) # data frame from the list
sample1 <- boot1b[order(boot1b$pid),] # sorting based on pid and storing
引导示例中的变量sample1
名称以.1, .2, .3, ...
. (pid
是个人 ID,对于同一个人的不同观察,它采用相似的值)。例如,在上面的代码中,变量xy
indatta
将具有名称xy
, xy.1
, 并xy.2
与第一个、第二个和第三个引导样本相关联。我宁愿让不同的引导样本以不同的方式命名,每个样本中的变量名称与原始数据框中的变量名称相同。在上述情况下,我想要的是存储在三个不同数据帧中的引导样本,例如,boot1, boot2, boot3
,其中每个数据框中的变量名称与原始数据框中的变量名称相同。我开始手动进行一次复制,但创建许多引导样本需要大量时间。有人对如何以更好的方式做到这一点有任何建议吗?
编辑
数据框中许多变量中的四个变量的前几个观察结果datt
如下。
pid xy zy wy
1 10 2 -5
1 12 3 -4.5
1 14 4 -4
1 16 5 -3.5
1 18 6 -3
1 20 7 -2.5
2 22 8 -2
2 24 9 -1.5
2 26 10 -1
2 28 11 -0.5
2 30 12 0
2 32 13 0.5