【发布时间】:2016-09-22 04:53:22
【问题描述】:
我有数据框,我的目标是通过ID找到组合var1的模式,如果每个组至少有3个类别相同,我们设置“是”,然后哪个ID具有相同的组合。
ID1: I have 4 unique categories (A,B,C,D)
ID2: I have 4 unique categories (B,C,D,F)
ID3: I have 3 unique categories (A,B,C)
ID4: I have 2 unique categories (A,B)
ID5: I have 4 unique categories (C,D,F)
我们可以看到ID1,ID2至少有3个类别相同(B,C,D),ID1和ID3有(A,B,C),ID2,ID5至少有3个相同(C,D) ,F)。所以有 4 个 ID 会有“是”只有 ID4==“否”。
ID <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,5,5,5,5,5)
var1 <- c("A","B","C","A","D","D","C","D","B","F","A","B","C","C",
"A","B","D","D","C","C","F")
df <- data.frame(ID,var1)
ID var1
1 1 A
2 1 B
3 1 C
4 1 A
5 1 D
6 2 D
7 2 C
8 2 D
9 2 B
10 2 F
11 3 A
12 3 B
13 3 C
14 3 C
15 4 A
16 4 B
17 5 D
18 5 D
19 5 C
20 5 C
21 5 F
我的输出将是
ID var1 var2 var3
1 1 A Yes 1-2
2 1 B Yes 1-2
3 1 C Yes 1-2
4 1 A Yes 1-2
5 1 D Yes 1-2
6 2 D Yes 1-2
7 2 C Yes 1-2
8 2 D Yes 1-2
9 2 B Yes 1-2
10 2 F Yes 1-2
11 3 A Yes 1-3
12 3 B Yes 1-3
13 3 C Yes 1-3
14 3 C Yes 1-3
15 4 A No 4
16 4 B No 4
17 5 D Yes 2-5
18 5 D Yes 2-5
19 5 C Yes 2-5
20 5 C Yes 2-5
21 5 F Yes 2-5
感谢您的提前。
【问题讨论】:
-
仅供参考
ID2没有类别“A” -
对不起,我搞砸了,让我再编辑一次
标签: r pattern-matching combinations