我有一个包含20个教室[1到20]索引的数据框和每个班级20个不同数量的学生,如何获得大小为n = 8的所有子样本并存储它们,因为我想稍后使用它们进行计算。我使用combn()
但只需要一个向量,我可以将它与数据帧一起使用吗? (抱歉,我是R的新人),
数据框如下:
classrooms students 1 1 29 2 2 30 3 3 35 4 4 28 5 5 32 6 6 20 7 7 25 8 8 22 9 9 32 10 10 26 11 11 27 12 12 34 13 13 27 14 14 28 15 15 33 16 16 21 17 17 36 18 18 24 19 19 19 20 20 32
答案 0 :(得分:4)
就像将函数传递给combn
一样简单。 simplify = FALSE
表示将返回一个列表。
假设您想要数据集课堂中8个教室的所有可能组合
combinations <- combn(nrow(classrooms), 8, function(x,data) data[x,],
simplify = FALSE, data =classrooms )
head(combinations, n = 2)
[[1]]
classrooms students
1 1 29
2 2 30
3 3 35
4 4 28
5 5 32
6 6 20
7 7 25
8 8 22
[[2]]
classrooms students
1 1 29
2 2 30
3 3 35
4 4 28
5 5 32
6 6 20
7 7 25
9 9 32