问题描述
我删除了旧问题,因为它不清楚。
我想问一下我们如何为列表交互循环函数
我使用 phytools
包创建了一个示例
# a set of trees
List <- list(tree1= pbtree(n=3,tip.label = c("Pycnonotus_simplex","Pycnonotus_brunneus","Blythipicus_rubiginosus")),tree2 = pbtree(n=3,tip.label = c("Blythipicus_rubiginosus","Pycnonotus_erythropthalmos","Orthotomus_atrogularis")))
class(List) <- "multiPhylo"
# a vector of species would be added
spp <- c("Pycnonotus_sp.02","Pycnonotus_sp.08")
我将通过 add.species.to.genus
将随机 spp 添加到一棵树上
for (i in 1:length(spp)){
tree1 <- add.species.to.genus(tree1,spp [i],where = "random")
}
我希望现在我的问题很清楚了。任何帮助/建议将不胜感激。
更新
大家好,
自从我使用函数 add.species.to.genus
时,我已经解决了我的问题,这导致树的边长精度有限。
通过使用 force.ultrametric
函数将处理
for (i in 1:length(List)){
tree[[i]] <- List[[i]]
for (j in 1:length(spp)){
tree[[i]] <- force.ultrametric(tree[[i]])
tree[[i]] <- add.species.to.genus(tree[[i]],spp[j],where = "random")
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)