我正在分享与主坐标分析 (PCoA) 中的复杂特征值相关的问题。非常感谢任何帮助!
目的:在系统发育距离矩阵上执行 PCoA -> 在回归模型中包括排序轴,以说明植物物种(n = 1013 种)之间的系统发育相关性。
输入数据:系统发育距离矩阵,通过将cophenetic()
函数应用于有根和时间校准的系统发育而获得。结果是一个 1013 x 1013 矩阵,主对角线为 0。输入矩阵是对称的(根据isSymmetric()
)并且不包含复数(根据any(is.complex()
)。也没有NA。请参阅以下某些物种的子集:
structure(c(0, 55.7063710000001, 105.333883, 237.6822, 237.682199,
261.495339, 55.7063710000001, 0, 105.333886, 237.682203, 237.682202,
261.495342, 105.333883, 105.333886, 0, 237.682201, 237.6822,
261.49534, 237.6822, 237.682203, 237.682201, 0, 66.171369, 261.495341,
237.682199, 237.682202, 237.6822, 66.171369, 0, 261.49534, 261.495339,
261.495342, 261.49534, 261.495341, 261.49534, 0), .Dim = c(6L,
6L), .Dimnames = list(c("Cyrtomium_falcatum", "Cyrtomium_fortunei",
"Nephrolepis_cordifolia", "Pteris_cretica", "Pteris_vittata",
"Azolla_filiculoides"), c("Cyrtomium_falcatum", "Cyrtomium_fortunei",
"Nephrolepis_cordifolia", "Pteris_cretica", "Pteris_vittata",
"Azolla_filiculoides")))
最小可重现示例:我创建了重现错误消息的距离矩阵的子集。它是 txt 格式,您可以在 R 中加载read.table("you_path/distance.matrix.subset.txt", header = T, row.names = 1, sep = " ")
. 在此处下载(GoogleDrive)。
问题:错误消息表明执行 PCoA 时产生了复杂的特征值(如果我正确理解错误)。我使用ape::pcoa()
默认设置(ape
版本 5.4.1)。
Error in min(D.eig$values) : invalid 'type' (complex) of argument
对此错误消息elsehwere进行了一些讨论,但我还没有找到解决方案。
stats::cmdscale()
有趣的是,如果我使用(stats
版本 3.6.3)执行 PCoA,我不会收到任何错误消息。此外,我最近对一组较小的物种(n = 79)做了同样的程序,使用ape::pcoa()
.
非常感谢您的任何帮助和/或见解!我是 Stack Overflow 的新手,所以请不要犹豫,告诉我如何使问题更易于理解,或者是否需要其他信息。
干杯!