假设我有一个带有的数据框,
Color Animal Size
Green Frog 2
Red Frog 5
Green Frog 1
Red Frog 6
如果我要应用函数mean,我想获得一个具有
的data.frameColor Animal AverageSize
Green Frog 1.5
Red Frog 5.5
由于
答案 0 :(得分:3)
基地R中最直接的方式是使用aggregate
:
> aggregate(Size ~ ., mydf, mean)
Color Animal Size
1 Green Frog 1.5
2 Red Frog 5.5
那里,"。"代表所有其他分组列,而"尺寸"是要聚合的列。
其他选项包括:
library(data.table)
as.data.table(mydf)[, mean(Size), by = list(Color, Animal)]
或者:
library(dplyr)
mydf %>%
group_by(Color, Animal) %>%
summarise(Size = mean(Size))
(许多其他人。)