我有一个植物数据集,其中包含有关每种植物物种(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 函数。还有其他选择,但它们的共同点是它们要求您的响应是二进制变量。我的不是,但我可以为每个物种制作一个具有多个入口的二进制文件。但是,如果这样做,我很可能会遇到分析数据集中的行数远大于系统发育树中的提示数的问题!
简而言之,我需要一个系统发育逻辑回归,以两列变量作为响应(成功次数,失败次数),并且支持连续和分类解释变量。
我真的很感激任何帮助!