在'中的单个树上循环;多门';R中的对象

在'中的单个树上循环;多门';R中的对象,r,tree,phylogeny,R,Tree,Phylogeny,我试图在多个系统发育树(multiphylo类文件)上运行函数。这些函数中的大多数都带有特定的R包,但只适用于单树(phylo类)。从本质上说,multiphylo对象由许多phylo类对象组成。我试着看看是否使用for lopp,我可以在multiphylo对象中的所有对象上运行相同的操作,但是我遇到了错误。有什么建议吗 library(ape) library(TreePar) x=read.nexus(file.choose()) #read in file with multiple p

我试图在多个系统发育树(multiphylo类文件)上运行函数。这些函数中的大多数都带有特定的R包,但只适用于单树(phylo类)。从本质上说,multiphylo对象由许多phylo类对象组成。我试着看看是否使用for lopp,我可以在multiphylo对象中的所有对象上运行相同的操作,但是我遇到了错误。有什么建议吗

library(ape)
library(TreePar)
x=read.nexus(file.choose()) #read in file with multiple phylogenetic trees
times<-0
for(i in 1:length(x)) 
{
  times[i]<-getx(x[[i]])
  print(times[i])
}
print(i)

getx(x[[i]])
的输出是什么?单个值?getx输出为数值。它是一个节点编号及其对应年龄的列表,因此它不是一个单一的值。它怎么能工作?您尝试将
列表
存储在
数值
向量的单个值中。谢谢,我成功地对其进行了排序。:)
In ages[i] = getx(x[[i]]) : number of items to replace is not a multiple of replacement length