0

我有一个植物数据集,其中包含有关每种植物物种(n = 550)成功或失败做某事的频率的信息,即成功次数和失败次数。该数据集还包含有关每个植物物种特征的数据,例如种子大小、竞争能力、最大扩散距离等。大多数解释变量是连续的,但一个是二元的(是否存在菌根)。通常,为了分析植物成功做某事的次数与其特征相关的程度,我猜你会以如下方式使用具有家庭二项式的 GLM:

my.model <- glm(cbind(no.of.successes,no.of.failures) ~ seed.size + max.dispersal.distance 
            + competitive.ability, data=data, family="binomial")

然而,由于这些特征中的一些可能与植物的进化历史有关,我想考虑由此可能产生的偏差。因此,我想在我的模型中包含系统发育信息。当您有连续响应时,您可以使用 PGLS(caper 包),但出于我的目的,我想像上面这样的逻辑回归更合适。一种方法是使用 phylolm 包中的 phylloglm 函数。还有其他选择,但它们的共同点是它们要求您的响应是二进制变量。我的不是,但我可以为每个物种制作一个具有多个入口的二进制文件。但是,如果这样做,我很可能会遇到分析数据集中的行数远大于系统发育树中的提示数的问题!

简而言之,我需要一个系统发育逻辑回归,以两列变量作为响应(成功次数,失败次数),并且支持连续和分类解释变量。

我真的很感激任何帮助!

4

1 回答 1

2

大多数系统发育比较方法(包括 中实施的方法phyloglm)旨在处理物种手段。您可以考虑以下两种选择:

  1. 将您的成功和失败计数转换为比例向量,并使用 PGLS 或 phylloglm 对它们进行建模(取决于比例的分布方式,这些选项之一可能有效)。如果可以选择根据样本大小对物种进行加权,那就太好了,但不幸的是,我认为没有。

  2. 使用系统发育广义线性混合模型。这可能是首选,因为它保留了数据中的所有信息,而不是像第一个选项那样删除有关样本大小的信息。

于 2016-05-10T03:41:11.797 回答