计算groupby r列中不同值的数量

Chippycentra

我有一个DF,例如:

COL1 COL2 
G1   SP1  
G1   SP2  
G1   SP1  
G2   SP1  
G2   SP6  
G2   SP9  
G3   SP9  
G4   SP9  
G4   SP2  

我想添加一个COL3,它是按COL1组的不同COL2值的数量:

COL1 COL2 COL3
G1   SP1  2
G1   SP2  2
G1   SP1  2
G2   SP1  3
G2   SP6  3
G2   SP9  3
G3   SP9  1
G4   SP9  2
G4   SP2  2
艾伦·卡梅伦

n_distinct(COL2)分组后可以使用COL1

library(dplyr)

df %>% 
  group_by(COL1) %>% 
  mutate(COL3 = n_distinct(COL2))

#> # A tibble: 9 x 3
#> # Groups:   COL1 [4]
#>   COL1  COL2   COL3
#>   <fct> <fct> <int>
#> 1 G1    SP1       2
#> 2 G1    SP2       2
#> 3 G1    SP1       2
#> 4 G2    SP1       3
#> 5 G2    SP6       3
#> 6 G2    SP9       3
#> 7 G3    SP9       1
#> 8 G4    SP9       2
#> 9 G4    SP2       2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章