【问题标题】:Get the most frequent entry获取最频繁的条目
【发布时间】:2021-11-10 19:22:20
【问题描述】:

如何在 R 中获得最频繁的条目?

例如,如果我将数据分为两列:

Name-City

A-New York

A-New York

A-Montreal

A-New York

B-Chicago

B-Chicago

B-New York

B-Detroit

我想得到一个数据框:

Name-City

A-New York

B-Chicago

因此,“名称”中的每个唯一条目都应该具有“城市”中最常见的条目。

我的想法是这样的:

df %>%
 group_by(Name) %>%
 count(City)

【问题讨论】:

    标签: r dataframe dplyr


    【解决方案1】:
    library(dplyr)
    
    df %>%
      group_by(Name) %>% 
      count(City) %>%
      top_n(1)
    
    # Selecting by n
    # # A tibble: 2 x 3
    # # Groups:   Name [2]
    #   Name  City         n
    #   <chr> <chr>    <int>
    # 1 A     New York     3
    # 2 B     Chicago      2 
    

    【讨论】:

      【解决方案2】:

      使用mtcars,假设我们要找到每个气缸数的最频繁齿轮数:

      library(tidyverse)
      
      mtcars %>% group_by(cyl, gear) %>% 
        summarize(count = n()) %>% 
        filter(count == max(count))
      
      # A tibble: 3 x 3
      # Groups:   cyl [3]
          cyl  gear count
        <dbl> <dbl> <int>
      1     4     4     8
      2     6     4     4
      3     8     3    12
      

      首先,我们需要计算每个气缸/齿轮组合出现的次数。然后我们可以过滤到最大(即最频繁)的出现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-10
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 2020-09-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多