【问题标题】:adding a column to df that counts occurrence of a value in another column向 df 添加一列,计算另一列中某个值的出现次数
【发布时间】:2021-08-26 05:32:28
【问题描述】:

我想要做的是通过“地方”添加一列,计算整个“id”列中的 id 出现:

 id <- c(204850, 204850, 204850,312512,312512,452452,285421,758412,758412,758412)
places <- c("kitchen","kitchen","garden","salon","salon","salon","bathroom","garden","bathroom","garden")
 df <- data.frame(id, places)
 

    > df
           id   places
    1  204850  kitchen
    2  204850  kitchen
    3  204850   garden
    4  312512    salon
    5  312512    salon
    6  452452    salon
    7  285421 bathroom
    8  758412   garden
    9  758412 bathroom
    10 758412   garden

我看到的唯一选项是在 dplyr 中按计数,但它是创建一个新的数据框。

输出应如下所示:

> df
       id   places id_occurrence
1  204850  kitchen             3
2  204850  kitchen             3
3  204850   garden             3
4  312512    salon             2
5  312512    salon             2
6  452452    salon             1
7  285421 bathroom             1
8  758412   garden             3
9  758412 bathroom             3
10 758412   garden             3

【问题讨论】:

    标签: r add calculated-columns find-occurrences multiple-occurrence


    【解决方案1】:

    您可以使用以下解决方案:

    library(dplyr)
    
    df %>%
      group_by(id) %>%
      add_count(name = "id_occurrence")
    
    # A tibble: 10 x 3
    # Groups:   id [5]
           id places   id_occurrence
        <dbl> <chr>            <int>
     1 204850 kitchen              3
     2 204850 kitchen              3
     3 204850 garden               3
     4 312512 salon                2
     5 312512 salon                2
     6 452452 salon                1
     7 285421 bathroom             1
     8 758412 garden               3
     9 758412 bathroom             3
    10 758412 garden               3
    

    【讨论】:

      【解决方案2】:

      我们也可以在不分组的情况下这样做

      library(dplyr)
      df %>%
        add_count(id, name = 'id_occurence')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-12
        • 2020-10-09
        • 2019-03-27
        • 2020-12-20
        • 2022-06-16
        相关资源
        最近更新 更多