r - 对 R 中的 vegan 包使用 dbrda 函数时出错
问题描述
我目前正在尝试使用 vegan 包运行 dbRDA。我用三个解释矩阵来解释一个响应距离矩阵:
full.rda <- dbrda(bsim ~ genmat + envmat + spamat)
第一个是距离矩阵,而后三个是矩阵(不是数据帧)。我检查了每个的 dimnames 属性,也没有缺失值,总的来说一切似乎都很好......
dim(bsim)
[1] 380 380
dim(envmat)
[1] 380 6
dim(spamat)
[1] 380 3
dim(genmat)
[1] 380 2
all(attr(genmat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])
[1] 对
all(attr(spamat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])
[1] 对
all(attr(envmat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])
[1] 对
但由于某种原因,我收到错误消息:
full.rda <- dbrda(bsim ~ genmat + envmat + spamat)
dimnames(u) <- list(dnam[[1]], c(axnam, negnam)) 中的错误:“dimnames”[2] 的长度不等于数组范围
traceback()
3: ordConstrain(Y, X, Z)
2: ordConstrained(X, d$Y, d$Z, 方法 = "dbrda")
1: dbrda(bsim ~ genmat + envmat + spamat)
我见过人们在尝试进行 corrplot 并使用数据框而不是矩阵时遇到此错误,但这不是这里的问题..
有没有人可能有解决这个问题的建议或想法?
我正在使用 R 的 3.5.1 版和 vegan 包的 2.5-2 版。
十分感谢!
解决方案
推荐阅读
- regex - 需要正则表达式的帮助
- spring - NoSuchBeanDefinitionException:没有“java.util.function.Function”类型的限定 bean
' - json - AngularJS - 过滤掉下拉列表中的值
- r - 如何按天合并上一行和下一行
- android - 谷歌地图从 url 更新集群标记图标
- oracle12c - 如何在 sql*loader 控制文件中写入多个 CONTINUEIF 条件?
- scala - org.mockito.exceptions.misusing.WrongTypeOfReturnValue:在单元测试用例上
- address-sanitizer - Address Sanitizer:查找导致崩溃的线程
- excel-formula - Excel 不计算 hh:mm 公式,其中部分公式来自另一个公式结果
- python - 如何在 Jupyter 笔记本中打印时重新定位光标