我是 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
我已经阅读了帮助小插曲和类(class),但还没有找到一个二进制响应的例子,我不清楚如何决定先验值。这是我到目前为止:
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)
任何帮助或反馈将不胜感激!
最佳答案
这个对于您提供的信息有点棘手。我想说你可以定义 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)
但是,如果没有关于您的分析的更多信息,我强烈建议您绘制后验图以查看结果并查看是否有任何问题。看看
MCMCglmm
包裹Course Notes有关如何设置这些先验的更多信息(尤其是在第 1.5 节中不该做什么 - 如果它适合本教程的类别,您还可以找到有关如何将其调整到您的模型的更多具体信息)。
关于r - 使用 MCMCglmm 预先设置 G,具有分类响应和系统发育,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34180677/