在多个向量之间聚合,保留仅具有特定向量的NA的条目

时间:2015-11-05 22:10:20

标签: r

生成一些示例data

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条目。

1 个答案:

答案 0 :(得分:7)

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