R - 运行 在多个系统发育树(multiPhylo 对象)上起作用

R - Running functions on multiple pylogenetic trees (multiPhylo objects)

我想 运行 跨多个系统发育的相同函数存储为 multiPhylo 对象。

例如,假设我有 1,000 棵树的 multiPhylo,我想对每棵树的 edge/branch 长度求和。我知道对于一棵树我可以使用:

sum(tree$edge.length)

但我不知道如何对 multiPhylo 中的所有树执行此操作。我敢肯定这很简单,但这超出了我的范围。有人可以帮忙吗?

谢谢

Class multiPhylo 是一个列表 (str(tree)),因此提供了 R 用来处理列表的功能。要对单个树的边长求和,请使用 lapply 函数。

lapply(tree, FUN = function(x) sum(x$edge.length))