有点像 R 的菜鸟。我已经成功地创建了一个表和数据摘要,但是我怎样才能从表中提取平均值呢? (平均值(非常活跃分钟数)、平均值(一般活跃分钟数)等)。有什么我可以添加到摘要功能吗?
提前感谢您的任何意见
totalTime <- Activity %>%
select(VeryActiveMinutes, FairlyActiveMinutes, LightlyActiveMinutes, SedentaryMinutes) %>%
summary()
我试过使用 mean(),但无法进入表格。我也试过总结每个数据集的值,
AvgVeryActiveMinutes=sum(VeryActiveMinutes$VeryActiveMinutes)/nrow(VeryActiveMinutes)
但这似乎很重复。
summary
这里做了很多事情,它实际上是一个method并在这种情况下派遣到summary.data.frame
。
如果你想要数据框特定列的
mean
,你可以在mean
中使用lapply
。这里在R自带的mtcars
数据集上演示:
lapply(X=mtcars[c('mpg', 'cyl', 'disp')], FUN=mean)
# $mpg
# [1] 20.09062
#
# $cyl
# [1] 6.1875
#
# $disp
# [1] 230.7219
mean
期望一个向量作为输入。对于矢量化平均操作,选择列并使用 colMeans
来自 base R
nm1 <- c("VeryActiveMinutes", "FairlyActiveMinutes",
"LightlyActiveMinutes", "SedentaryMinutes")
colMeans(Activity[nm1], na.rm = TRUE)
对于
tidyverse
,mean
可以应用在across
内
library(dplyr)
Activity %>%
summarise(across(all_of(nm1), ~ mean(.x, na.rm = TRUE)))