【发布时间】:2020-09-20 07:37:46
【问题描述】:
我有一个嵌套的列表列表,其中每个条目都包含一个值列表。
我希望从每个嵌套列表中抽取一个元素并创建一组元素。
这样的列表的一个例子是:
xxx_ <- list(c(13L, 15L, 5L, 6L), c(7L, 20L, 14L, 18L, 1L, 8L, 17L),
c(9L, 11L, 4L, 12L), c(16L, 19L, 10L, 2L, 3L))
我正在执行以下操作,但感觉需要一种更简单的方法来对该列表列表进行采样。
l_sample <- list()
for(g in 1:10) {
l <- c()
for(i in 1:4) {
l <- c(l,sample(xxx_[[i]], 1))
}
l_sample[[g]] <- l
}
结果如下:
> l_sample
[[1]]
[1] 15 7 12 10
[[2]]
[1] 6 1 4 2
[[3]]
[1] 13 18 4 19
[[4]]
[1] 6 17 4 2
[[5]]
[1] 15 18 4 3
[[6]]
[1] 13 18 9 3
[[7]]
[1] 6 17 12 19
[[8]]
[1] 5 20 9 19
[[9]]
[1] 5 18 9 10
[[10]]
[1] 13 7 9 3
我还想将每个样本作为新行附加到数据框,其中每个元素都在新列中,但我做不到。
类似:
> df
g1 g2 g3 g4
1 15 7 12 10
2 6 1 4 2
...
不胜感激。
【问题讨论】:
标签: r random nested-lists sample