我正在尝试从我的样本中创建几个随机子样本。
所以,我想的是像
这样的东西library(data.table)
replicate(2, mtcars[, .SD[sample(.N,3)], ], simplify=F )
这给了我两个清单
[[1]]
mpg cyl disp hp drat wt qsec vs am gear carb
1: 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
2: 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
3: 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
[[2]]
mpg cyl disp hp drat wt qsec vs am gear carb
1: 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
2: 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
3: 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
我想知道bind
是否可以使用标识符采样,因此以复制次数为条件
mpg cyl disp hp drat wt qsec vs am gear carb replication
1: 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 1
2: 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 1
3: 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 1
4: 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 2
5: 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 2
6: 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 2
像
这样的东西library(dplyr)
replicate(2, mtcars[, .SD[sample(.N,3)], ], simplify=F ) %>% bind_rows()
但表示复制次数(当然要避免loops
)
谢谢
答案 0 :(得分:2)
.id
bind_rows
选项
replicate(2, as.data.table(mtcars)[sample(.N,3)], simplify=FALSE ) %>%
bind_rows(., .id = 'replication')