【问题标题】:Finding total frequency for each variable [duplicate]查找每个变量的总频率[重复]
【发布时间】:2017-12-01 05:12:41
【问题描述】:

我有一个数据框,其中 release_year 列表示歌曲的发行年份,play_count 列表示该歌曲在给定年份播放的次数。这是一个可重现的示例:

release_year = c(1955, 1972, 1955, 2014, 1972) 
playcount = c(15, 2, 90, 6, 9) 
df = data.frame(release_year, playcount)   
df

我将如何整理数据以便每年只显示一次并给出该年的总播放次数?例如,对于 1955,我将有 105,对于 1972,我将有 11。我使用 tidyr 尝试了以下代码:

gather(key = release_year, value = frequency, `1955`:`2014`)

但错误提示找不到对象。我应该在这里使用比gather() 更好的功能吗?

【问题讨论】:

    标签: r tidyr


    【解决方案1】:

    你可以试试dplyr的方法:

    df%>%group_by(release_year)%>%summarise(playcount=sum(playcount))
    
    # A tibble: 3 x 2
    #  release_year playcount
    #          <dbl>     <dbl>
    #1         1955       105
    #2         1972        11
    #3         2014         6
    

    【讨论】:

      【解决方案2】:

      您可以只使用dplyr 中的count 函数(不需要tidyr):

      library(dplyr)
      count(df, release_year, wt = playcount)
      #> # A tibble: 3 x 2
      #>   release_year     n
      #>          <dbl> <dbl>
      #> 1         1955   105
      #> 2         1972    11
      #> 3         2014     6
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 2020-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        相关资源
        最近更新 更多