首页 > 解决方案 > 获取数据框中列中前 n 个元素的平均值

问题描述

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

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

数据框图像供参考: 在此处输入图像描述

标签: rdataframedplyrmean

解决方案


怎么样

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))

推荐阅读