【发布时间】:2017-02-14 11:19:47
【问题描述】:
我有一个数据框(df)如下:
Year PlotNo HabitatType Sp1 Sp2 Sp3 Sp4
2000 1 GH 0 1 2 3
1988 3 KL 2 3 4 5
其中,Sp 代表物种,其列代表丰度值。
我正在尝试为数据框中的每一行查找 Simpson 的多样性。我尝试了以下 for 循环:
require(vegan)
y <- for(i in 1:nrow(df)) {
row <- df[i,4:50] #Assuming 50 columns
diversity(row, "simp")
}
但是,我一直遇到如下错误:
sum(x) 中的错误:参数的“类型”(字符)无效
关于如何纠正此错误的任何想法?或者有什么替代方法?
【问题讨论】:
-
附带说明:不要调用 data.frame
df。这是 R 中函数的名称,如果出现语法错误,会导致混乱的错误消息。 -
你能让你的例子可重现吗?没有它,我们只能猜测到底出了什么问题。