【发布时间】:2016-01-20 15:15:42
【问题描述】:
假设我有一个数据集,描述了不同地点的不同物种的丰度,d1:
site <- c(1:5)
species1 <- c('A','A','B','C','A')
abundance1<- c(0.11,0.45,0.87,1.00,0.23)
species2 <- c('B','C','A','A','C')
abundance2 <- 1 - abundance1
d1<- data.frame(site,species1,abundance1,species2,abundance2)
因此,每个站点都有两个物种,并且有一个 abundance 列描述了每个物种所代表的整个群落的比例。
然后我有第二个数据集d2,它描述了一个地块内每个物种的一些性状测量,例如weight。因此,地块 1 中的物种 A 对 weight 的观察可能与地块 2 中的物种 A 不同。数据框 d2 如下所示:
site<- c(1,1,2,2,3,3,4,4,5,5)
species <- c('A','B','A','C','B','A','C','A','A','C')
weight <- rnorm(10, 50,4)
d2<- data.frame(site,species,weight)
我想在d1 中生成一个列,即weight 的丰度加权平均值,使用d2 中的weight 数据,以便为图中的每个物种分配他们对weight 的独特观察在最后的计算中。
新计算向量的第一个条目的预期输出将是函数的输出:
d1[1,3]*d2[1,3] + d1[1,5]*d2[2,3]
【问题讨论】:
-
请显示预期输出
-
@mtoto 我已经解决了这个问题,抱歉。
标签: r