如何按组获取汇总统计数据

如何按组获取汇总统计数据

我试图在R/S+中获得多个汇总统计数据,一次按分类列分组。我找到了几个函数,但它们都在每次调用中执行一个统计,比如‘聚合()。


data <- c(62, 60, 63, 59, 63, 67, 71, 64, 65, 66, 68, 66, 

          71, 67, 68, 68, 56, 62, 60, 61, 63, 64, 63, 59)

grp <- factor(rep(LETTERS[1:4], c(4,6,6,8)))

df <- data.frame(group=grp, dt=data)

mg <- aggregate(df$dt, by=df$group, FUN=mean)    

mg <- aggregate(df$dt, by=df$group, FUN=sum)    

我想要的是在一个电话中得到同一组的多个统计数据,比如平均值、最小值、最大值、.等等,这是可行的吗?


幕布斯6054654
浏览 496回答 3
3回答

慕姐4208626

我会把我的两分钱tapply().tapply(df$dt,&nbsp;df$group,&nbsp;summary)您可以使用要替换摘要的特定统计信息编写自定义函数。

慕桂英4014372

dplyr包可以很好地替代这个问题:library(dplyr)df&nbsp;%>%&nbsp; &nbsp;&nbsp;group_by(group)&nbsp;%>%&nbsp; &nbsp;&nbsp;summarize(mean&nbsp;=&nbsp;mean(dt), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sum&nbsp;=&nbsp;sum(dt))得到第一象限和第三象限df&nbsp;%>%&nbsp; &nbsp;&nbsp;group_by(group)&nbsp;%>%&nbsp; &nbsp;&nbsp;summarize(q1&nbsp;=&nbsp;quantile(dt,&nbsp;0.25), &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q3&nbsp;=&nbsp;quantile(dt,&nbsp;0.75))
打开App,查看更多内容
随时随地看视频慕课网APP