【发布时间】:2021-07-21 13:13:27
【问题描述】:
我有两个数据框,构造如下:
env <- read.csv("ud_area.csv", header = T, sep = ";", row.names = 1)
com <- read.csv("com_1.csv", header = T, sep = ";", row.names = 1)
结构如下:
str(env)
**data.frame': 4 obs. of 1 variable:
$ Area: chr "BeetleBank" "BeetleBank" "Klee" "Klee"**
str(com)
**'data.frame': 4 obs. of 121 variables:**
**$ MT.1 : int 0 57 0 0**
**$ MT.2 : int 0 1 0 3**
**$ MT.3 : int 0 26 0 0** and so on...
然后我想调用并绘制 vegan 包中包含的 specnumber() 函数:
S<-specnumber(com)
plot(S ~ env$Area, ylab = "y", xlab = "x", ylim=c(0, 20), xlim=c(0,100))
我总是收到以下错误:强制转换引入的 NAs。
我多次控制 NA 的数据,这对我来说没有意义。此外,几个月前,当我使用其他数据运行脚本时,我没有遇到任何问题。现在,它也不适用于旧数据。这怎么可能?
【问题讨论】:
-
由于缺乏信息,我只能猜测:如果您有警告消息(您没有显示),那么您的 data.frame 中可能有非数字数据。如果您没有收到警告,您可能有
NA值传播到NA物种数量。如果你有非数字数据,sum(com)也会报错。