我有一个植物数据集,其中包含有关每种植物物种(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(雀跃包),但为了我的目的,我想像上面这样的逻辑回归更合适。一种方法可以是在phylolm包中使用phyloglm功能。还有其他选择,但所有这些都是共同的,它们要求您的响应是二进制变量。我不是,但我可以生产一个二元的,每个物种有多个入口。但是,如果我这样做,我很可能会遇到这样的问题:我的分析数据集中的行数远远大于我的系统发育树中的提示数量!现在我有什么选择进行这种分析呢?
总之,我需要一个系统发育逻辑回归,将两列变量作为响应(成功次数,失败次数),并支持连续和分类解释变量。
我真的很感激任何帮助!
答案 0 :(得分:2)
大多数系统发育比较方法(包括phyloglm
中实施的方法)旨在处理物种手段。您可以考虑以下两个选项:
将您的成功和失败计数转换为比例向量,并使用PGLS或phyloglm对其进行建模(取决于比例的分布方式,其中一个选项可能有效)。如果可以选择根据样本大小对物种进行加权,那将是很好的,但不幸的是我认为没有。
使用phylogenetic generalized linear mixed models。这可能是首选,因为保留了数据中的所有信息,而不是像第一个选项那样删除有关样本大小的信息。