【发布时间】:2016-06-11 23:59:13
【问题描述】:
我有一个按物种矩阵排列的站点。尺寸为 375 x 360。每个值代表一个物种在该站点样本中的频率。
我正在尝试将此矩阵从频率转换为每个站点的相对丰度。
我尝试了几种方法来实现这一点,唯一有效的方法是使用 for 循环。但是,这需要非常长的时间,或者根本无法完成。
是否有实现此目的的功能或矢量化方法?我已将我的 for 循环作为我正在尝试做的示例。
relative_abundance <- matrix(0, nrow= nrow(data_wide),
ncol=ncol(data), dimnames = dimnames(data))
i=0
j=0
for(i in 1:nrow(relative_abundance)){
for(j in 1:ncol(relative_abundance)){
species_freq <- data[i,j]
row_sum <- sum(data[i,])
relative_abundance[i,j] <- species_freq/row_sum
}
}
【问题讨论】:
-
relative_abundance/rowSums(relative_abundance)?
标签: r matrix probability frequency