【问题标题】:Get the mean of first n elements in a column within a dataframe获取数据框中列中前 n 个元素的平均值
【发布时间】:2020-05-28 11:18:37
【问题描述】:

我正在尝试使用 dplyr 包中的 summarise 函数来获取数据框中一列中前五个元素的平均值。现在,我可以得到整列的平均值,但我想限制 mean() 函数只计算列中的前五个值。

  mean_5_films <- summarize(
    genre_df,
    average = mean(vote_average, na.rm = TRUE)
  )

数据框图片供参考:

【问题讨论】:

  • 如果您发布一个最小的reproducible example,则更容易帮助您并测试可能的解决方案。数据图片没有帮助,因为我们无法将数据复制/粘贴到 R

标签: r dataframe dplyr mean


【解决方案1】:

怎么样

mean_5_films <- summarize(
  genre_df,
  average = mean(head(vote_average,5), na.rm = TRUE)
)

这将采用前 5 个 vote_average 值,或者您可以使用 slice

mean_5_films <- genre_df %>%
  slice(1:5 %>% 
  summarize(average = mean(vote_average, na.rm = TRUE))

【讨论】:

    【解决方案2】:

    另一种选择:

    mean_5_films <- summarize(
      genre_df,
      average = mean(vote_average[1:5], na.rm = TRUE)
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-25
      • 1970-01-01
      • 2017-06-11
      • 2019-03-29
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多