先前使用MCMCglmm设置G,具有分类响应和系统发育

时间:2015-12-09 14:00:36

标签: r glm bayesian mixed-models phylogeny

我是R中的MCMCglmm软件包的新手,而不是glm模型的新手。我有一个物种特征的数据集,以及它们是否已经在其原生范围之外引入。

我想测试是否可以通过任何物种特征来解释被引入(作为二元0/1响应变量)。我还想纠正物种之间的系统发育。

有人告诉我,对于二进制响应,我可以使用family =“threshold”,我应该将剩余方差固定为1.但是我在使用先前所需的其他参数时遇到了一些麻烦。

我已经为随机效果指定了R值,但是如果我指定R我还必须指定G并且我不清楚如何确定此参数的值。我已尝试设置默认值,但收到错误消息:

Error in MCMCglmm(fixed, random = ~species, data = data2, family = "threshold",  : 
prior$G has the wrong number of structures

我已经阅读了帮助小插曲和课程,但没有找到二进制响应的示例,我不清楚如何确定先验的值。这就是我到目前为止所做的:

fixed=Intro_binary ~ Trait1+ Trait2 + Trait3 
Ainv=inverseA(redTree1)$Ainv

binary_model = MCMCglmm(fixed, random=~species, data = data, family = "threshold", ginverse=list(species=Ainv),
 prior = list( 
    G = list(),    #not sure about the parameters for random effects.
    R = list(V = 1, fix = 1)),  #to fix the residual variance at one
  nitt = 60000, burnin = 10000) 

非常感谢任何帮助或反馈!

1 个答案:

答案 0 :(得分:0)

这一点对您提供的信息有点棘手。我说你可以将G定义为"弱"事先使用:

priors <- list(R = list(V = 1, nu = 0.002),
               G = list(V = 1, fix = 1)))

binary_model <- MCMCglmm(fixed, random = ~species, data = data,
                         family = "threshold",
                         ginverse = list(species = Ainv),
                         prior = priors,
                         nitt = 60000, burnin = 10000) 

然而,如果没有关于您的分析的更多信息,我强烈建议您绘制您的后代,以查看结果并查看是否有任何错误。有关如何设置这些先验的更多信息,请查看MCMCglmmCourse Notes(特别是在第1.5节中要做的事情 - 您还可以找到更具体的信息关于如何将其调整为您的模型(如果它适合教程的类别)。