我正在尝试使用 R 中 picante 的pblm
函数(用于系统集成(计算信号强度。似乎我不明白应该如何构建输入。我构建了一个简单的示例来测试该程序,其中包含 2 个简单的系统发育树(树状图(和它们的关联强度矩阵:
require(ape)
require(picante)
tree1<-read.tree(text="((C,B),A);")
tree2<-read.tree(text="((G,F),(E,D));")
web = matrix(
c(0, 5, 0, 10, 10, 0, 0, 3, 0, 0, 0, 1),
nrow=4,
ncol=3,
byrow = TRUE,
dimnames = list(c("D","E","F","G"),c("A","B","C")))
pblm(web,tree1=tree1,tree2=tree2)
但是,这会导致以下错误:
Error in V1[rownames(assocs), rownames(assocs)] : subscript out of bounds
我在pblm
中的输入有什么问题?
该错误意味着函数调用提供的数据库中不存在的行。在这里,问题是矩阵被转置了。
pblm(t(web), tree1=tree1, tree2=tree2)