我已经成功创建了数据的表和摘要,但是我如何从表中提取平均值呢?(mean(VeryActiveminutes), mean(FairlyActiveMinutes),等等)。有什么我可以添加到摘要函数的吗?
totalTime <- Activity %>%
select(VeryActiveMinutes, FairlyActiveMinutes, LightlyActiveMinutes, SedentaryMinutes) %>%
summary()
(https://i.stack.imgur.com/XuaiA.png)
我已经尝试使用mean(),但无法在表内。我还尝试了对每个数据集的值求和,
AvgVeryActiveMinutes=sum(VeryActiveMinutes$VeryActiveMinutes)/nrow(VeryActiveMinutes)
但这似乎太重复了。
summary
在这里做了很多事情,它实际上是一个方法,并在本例中分派给summary.data.frame
。
如果您想要一个数据帧的特定列的mean
,您可以在lapply
中使用mean
。以下是R附带的mtcars
数据集:
lapply(X=mtcars[c('mpg', 'cyl', 'disp')], FUN=mean)
# $mpg
# [1] 20.09062
#
# $cyl
# [1] 6.1875
#
# $disp
# [1] 230.7219
mean
需要一个向量作为输入。对于向量化均值操作,选择列并使用base R
colMeans
。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)))