Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中MCMCglmm模型的Gelman-Rubin统计量_R_Mcmc - Fatal编程技术网

R中MCMCglmm模型的Gelman-Rubin统计量

R中MCMCglmm模型的Gelman-Rubin统计量,r,mcmc,R,Mcmc,我有一个(近似)形式的多元模型: 但是,我得到了这个错误: Error in mcmc.list(x) : Arguments must be mcmc objects 对正确的方法有什么建议吗?我假设该错误意味着我无法通过gelman.diag()传递我的mod.1输出,但我不确定应该放在那里的是什么?我的知识在这里是非常有限的,所以我将感谢任何和所有的帮助 注意,我没有在这里添加数据,但我怀疑答案更多的是代码语法,而不是数据相关。gelman.diag需要一个mcmc.list。如果我们使

我有一个(近似)形式的多元模型:

但是,我得到了这个错误:

Error in mcmc.list(x) : Arguments must be mcmc objects
对正确的方法有什么建议吗?我假设该错误意味着我无法通过
gelman.diag()
传递我的
mod.1
输出,但我不确定应该放在那里的是什么?我的知识在这里是非常有限的,所以我将感谢任何和所有的帮助


注意,我没有在这里添加数据,但我怀疑答案更多的是代码语法,而不是数据相关。

gelman.diag需要一个
mcmc.list
。如果我们使用不同的参数集运行模型,则提取“Sol”并将其放置在
列表中(以下为同一模型)

库(MCMCglmm)

model1如果我只运行1
MCMCglmm()
model,那么只运行:
mclist@BlunderingEcologist是不是不好的做法根据文档,它清楚地提到了输入
x
-
一个包含多个链的mcmc.list对象,对于后验分布而言,初始值分布过度。
@BlunderingCologist可能要求运行多个链来检查收敛性我对文档的理解有点太深了。您的后续评论可能是(比如运行第二个模型,使用不同的
nitt
burnin
、和
thin
?)值。您需要使用不同的起始参数值运行多个链,以便Gelman-Rubin诊断具有任何意义(更改老化/迭代次数等是无关的)。MCMCglmm确实有一个
start
参数,因此这应该是可行的(但您必须找出/决定什么范围的起始值对您的问题是合理的)。
gelman.diag(mod.1) 
Error in mcmc.list(x) : Arguments must be mcmc objects
library(MCMCglmm)
model1 <- MCMCglmm(PO~1, random=~FSfamily, data=PlodiaPO, verbose=FALSE,
  nitt=1300, burnin=300, thin=1)
model2 <- MCMCglmm(PO~1, random=~FSfamily, data=PlodiaPO, verbose=FALSE,
  nitt=1300, burnin=300, thin=1 )

mclist <- mcmc.list(model1$Sol, model2$Sol)
gelman.diag(mclist)
# gelman.diag(mclist)
#Potential scale reduction factors:
#            Point est. Upper C.I.
#(Intercept)          1          1