ID val1 val2
a 1 6
a 1 6
a 3 2
a 4 2
a 5 5
b 2 3
b 2 2
c 3 2
c 4 4
c 5 5
c 6 6
c 5 2
c 2 3
使用
dat <-df %>%
group_by(ID) %>%
summarise(corr=cor(val1, val2))
这将为每个组计算val1和val2的相关性。但是我只想对出现3次以上的ID进行过滤。基本上,我想计算每个ID的出现次数(例如a = 5,b = 2,c = 6),并且仅计算出现次数超过3的那些ID的相关性(在这种情况下,b将为被忽略,因为它发生了两次)。
这是大型数据库的一部分。
如何使用dplyr?
对于小于2的情况,这将为您提供不包含任何内容的输出。
dat <- df %>%
group_by(ID) %>%
mutate(N = n()) %>%
filter(N >= 3) %>%
summarise(corr = cor(val1, val2))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句