生成一些示例数据 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) 假设我使用聚合函数按站点和
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)
假设我使用聚合函数按站点和地平线汇总值1
aggregate(value1~site+horizon,data=data,FUN=mean)
R版画:
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条目.
aggregate(.~site + horizon,data=data,FUN=mean, na.action=na.pass)