代码之家  ›  专栏  ›  技术社区  ›  trilisser

dplyr:计数唯一值[重复]

  •  0
  • trilisser  · 技术社区  · 2 年前

    我有一个数据:

    df <- data.frame(strain = 1:6, sample = c("a24", "a24", "a24", "a26", "a26", "a27"), region = c(rep("ny", 3), rep("detroit",3)))
    

    我想数一下 样品 每个地区,并得到类似的结果:

    区域 样本计数
    ny 1.
    底特律 2.

    也就是说,纽约只有一个样本“a24”,底特律有两个样本“a26”和“a27”

    1 回复  |  直到 2 年前
        1
  •  1
  •   Stephan    2 年前

    这种方式:

    library(dplyr)
    
    df |> 
      group_by(region) |> 
      summarise(sample_count = n_distinct(sample))
    

    输出为:

    # A tibble: 2 × 2
      region  sample_count
      <chr>          <int>
    1 detroit            2
    2 ny                 1
    
    推荐文章