Picante's pblm error: "Error in V1[rownames (assocs), rownames(assocs)]: subscript out of bounds"
Picante's pblm error: "Error in V1[rownames (assocs), rownames(assocs)]: subscript out of bounds"
我正在尝试使用 R 中 picante 的 pblm
函数(用于 phylocom 集成)来计算信号强度。看来我不明白应该如何构造输入。我构建了一个简单的示例来测试程序,其中包含 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)
我正在尝试使用 R 中 picante 的 pblm
函数(用于 phylocom 集成)来计算信号强度。看来我不明白应该如何构造输入。我构建了一个简单的示例来测试程序,其中包含 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)