【发布时间】:2020-05-17 23:54:57
【问题描述】:
我有以下数据框:
Person City Ethnicity
A 1 2
B 2 3
C 3 3
D 1 1
E 2 1
F 3 1
G 2 2
H 1 1
I 2 2
J 1 2
K 1 3
L 1 3
M 2 2
我想要一个包含 6 个人的所有可能组合的 df,以便满足以下约束:
- 每个组不能包含同一个人两次
- 每个组都包含所有城市
- 每组至少有 3 名来自 1 号城市的人
- 每个群体都有所有种族
有没有办法在 R 中做到这一点?
谢谢
数据
structure(list(Person = structure(1:13, .Label = c("A", "B",
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"), class = "factor"),
City = c(1L, 2L, 3L, 1L, 2L, 3L, 2L, 1L, 2L, 1L, 1L, 1L,
2L), Ethnicity = c(2L, 3L, 3L, 1L, 1L, 1L, 2L, 1L, 2L, 2L,
3L, 3L, 2L)), class = "data.frame", row.names = c(NA, -13L
))
可能的组合是 A,B,C,D,E,H。
【问题讨论】:
-
嗨 Pietro - 你能发布一个预期的输出表吗?此外,如果您添加
dput(your-data-frame)的输出,我们可以轻松地将您的 df 复制粘贴到 R -
Pietro 您能否澄清一下 - 您想要四个人的组,其中三个需要来自城市 1,但所有 3 个城市必须在每个组中。这显然是不可能的,你能解释一下吗?
-
感谢@AllanCameron 添加结构。问题中有一个错误。小组应由 6 人组成。
-
@PabloHerrerosCantis 我想要的是一个有 6 行(每个人一个)和尽可能多的列组合的数据框。
标签: r combinations