如何从 R 中的 summary() 表中提取均值?

问题描述 投票:0回答:2

有点像 R 的菜鸟。我已经成功地创建了一个表和数据摘要,但是我怎样才能从表中提取平均值呢? (平均值(非常活跃分钟数)、平均值(一般活跃分钟数)等)。有什么我可以添加到摘要功能吗?

提前感谢您的任何意见


totalTime <- Activity %>% 
  select(VeryActiveMinutes, FairlyActiveMinutes, LightlyActiveMinutes, SedentaryMinutes) %>% 
  summary()

(https://i.stack.imgur.com/XuaiA.png)

我试过使用 mean(),但无法进入表格。我也试过总结每个数据集的值,

AvgVeryActiveMinutes=sum(VeryActiveMinutes$VeryActiveMinutes)/nrow(VeryActiveMinutes)

但这似乎很重复。

r data-analysis mean summary
2个回答
0
投票

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

0
投票

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)))
© www.soinside.com 2019 - 2024. All rights reserved.