如何从R中的摘要()表中提取平均值?



我已经成功创建了数据的表和摘要,但是我如何从表中提取平均值呢?(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)))

相关内容

  • 没有找到相关文章

最新更新