获取数据框中一列中前 n 个元素的平均值

Get the mean of first n elements in a column within a dataframe

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

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

供参考的数据框图像:

怎么样

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

另一个选项:

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