我有一个整洁的 data.frame,有两列:exp
and val
。我想找出哪些值val
在所有不同的实验之间共享。
df <- data.frame(exp = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C'),
val = c(10, 20, 15, 10, 10, 15, 99, 2, 15, 20, 10, 4))
df
exp val
1 A 10
2 A 20
3 A 15
4 A 10
5 B 10
6 B 15
7 B 99
8 B 2
9 C 15
10 C 20
11 C 10
12 C 4
预期结果可以是值向量:
10, 15
或数据框上的一列告知该值是否共享:
exp val shared
<fct> <dbl> <lgl>
1 A 10 TRUE
2 A 20 FALSE
3 A 15 TRUE
4 A 10 TRUE
5 B 10 TRUE
6 B 15 TRUE
7 B 99 FALSE
8 B 2 FALSE
9 C 15 TRUE
10 C 20 FALSE
11 C 10 TRUE
12 C 4 FALSE
我能够找到答案(请参阅下面的自我回答),但这似乎是一个足够常见的问题,因此must比我想出的真正的 hacky 解决方案更好的方法。
我试图解决这个问题dplyr
因为这是我所熟悉的,但我对任何类型的解决方案都感兴趣。