如何计算子集的均值?

时间:2017-10-04 17:19:24

标签: r

我是R的新手,所以我的头衔可能没有意义。基本上,我有这个数据集,这是在2个不同地点收集的昆虫的长度。当我使用'摘要'功能,我得到了两个网站的价值,我想计算每个网站的平均值:

> ls()
[1] "simulies"
> ls.str()
simulies : 'data.frame':        615 obs. of  2 variables:
 $ Site  : Factor w/ 2 levels "Lovering","Orford": 2 2 2 2 2 2 2 2 2 2 ...
$ Length: num  4.1 2.8 2.2 3.2 3.2 3.1 3.1 4.1 4.1 3.2 ...
> summary(simulies)
   Site         Length     
Lovering:398   Min.   :0.600  
Orford  :217   1st Qu.:1.300  
               Median :1.600  
               Mean   :2.034  
               3rd Qu.:2.700  
               Max.   :5.000 

1 个答案:

答案 0 :(得分:0)

有许多不同的选择。其中两个:

获取一个站点的平均值:

mean(simulies$Length[simulies$Site=="Lovering"])

或使用ddply获取两个站点的输出:

library(plyr)
ddply(simulies, .(Site), summarize, Mean=mean(Length))