2015-11-05 41 views
3

条目生成一些示例data骨料,保留仅具有NAS进行特定矢量

site<- c(12,12,12,12,45,45,45,45) 
horizon<-c('A','A','B','C','A','A','B','C') 
value1<- c(19,14,3,2,18,19,4,5) 
value2<- c(NA,NA,3,2,NA,NA,4,5) 
data<-data.frame(site,horizon,value1,value2) 

说我使用聚集函数通过位点和地平线

aggregate(value1~site+horizon,data=data,FUN=mean) 

R键总结值1打印:

site horizon value 
1 12  A 16.5 
2 45  A 18.5 
3 12  B 3.0 
4 45  B 4.0 
5 12  C 2.0 
6 45  C 5.0 

但是,如果我通过两个矢量聚合,它会下降出所有A的视野,因为他们没有数据value2

aggregate(.~site + horizon,data=data,FUN=mean) 
    site horizon value1 value2 
1 12  B  3  3 
2 45  B  4  4 
3 12  C  2  2 
4 45  C  5  5 

谨以此产生从我第一次汇总调用输出,与value2额外的列,具有为A视野NA条目。

+1

尝试'聚合(...,na.action = na.pass)' – jogo

回答

7
aggregate(.~site + horizon,data=data,FUN=mean, na.action=na.pass) 
+0

噢,我的上帝,这正是我所需要的。我好蠢。 – colin