【问题标题】: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)
)
数据框图片供参考:
【问题讨论】:
标签:
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)
)