2015-11-05 23 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