在下面的数据集中,我想每隔72行计算一次函数decostand
,这样做10次,下面是我的尝试。
library(vegan)
library(truncnorm)
df <- data.frame(set = rep(c(1:10), each = 72),
sp1 = rep(rtruncnorm(72, a=0, b=800, mean = 50, sd = 20), times = 10),
sp2 = rep(rtruncnorm(72, a=0, b=800, mean = 70, sd = 20), times = 10),
sp2 = rep(rtruncnorm(72, a=0, b=800, mean = 70, sd = 20), times = 10))
for(i in 1:unique(df$set)){
df.hel <- decostand(df[i:i+71,2:4], method = "hellinger")
}
编辑:我删除了for循环的赋值语句。它仍然只计算1行。最终输出需要是720行。
1条答案
按热度按时间n6lpvg4x1#
我们可以通过“set”对列的子集进行
split
,循环遍历列表并应用decostand
函数或者在
for
循环上或使用
dplyr