首页 文章

独特的体数列

提问于
浏览
2

我正在尝试为每个独特的人添加一个人数 . 每个人都有多个数据点 .

df <-  data.frame(PERSON  = c("A", "A", "A", "B", "B", "C", "C", "C", "C"),
                  Y = c(2, 5, 4, 1, 2, 5, 3, 7, 1))

这就是我希望它看起来像:

PERSON Y UNIQ_CT
1      A 2       1
2      A 5       0
3      A 4       0
4      B 1       1
5      B 2       0
6      C 5       1
7      C 3       0
8      C 7       0
9      C 1       0

2 回答

  • 3

    你可以使用复制并否定它:

    transform(df, uniqct = as.integer(!duplicated(Person)))
    
  • 4

    由于此问题有 dplyr 标签,因此这是一个选项

    library(dplyr)
    
    df %>% 
       group_by(PERSON) %>% 
       mutate(UNIQ_CT = ifelse(row_number( ) == 1, 1, 0))
    

相关问题