【发布时间】:2018-01-04 14:23:52
【问题描述】:
我想在存储为 multiPhylo 对象的多个系统发育中运行相同的函数。
例如,假设我有 1,000 棵树的 multiPhylo,我想对每棵树的边/分支长度求和。我知道我可以只使用一棵树:
sum(tree$edge.length)
但我不知道如何对 multiPhylo 中的所有树执行此操作。我确信这很简单,但它超出了我的范围。有人可以帮忙吗?
谢谢
丹
【问题讨论】:
我想在存储为 multiPhylo 对象的多个系统发育中运行相同的函数。
例如,假设我有 1,000 棵树的 multiPhylo,我想对每棵树的边/分支长度求和。我知道我可以只使用一棵树:
sum(tree$edge.length)
但我不知道如何对 multiPhylo 中的所有树执行此操作。我确信这很简单,但它超出了我的范围。有人可以帮忙吗?
谢谢
丹
【问题讨论】:
multiPhylo 类是一个列表 (str(tree)),因此提供了 R 用来处理列表的功能。要对单个树的边长度求和,请使用 lapply 函数。
lapply(tree, FUN = function(x) sum(x$edge.length))
【讨论】: