对于具有MCMCglmm回归的循环

时间:2015-10-08 18:12:04

标签: r regression bayesian mcmc

我已经看过这个问题的一些答案了,只有两个我发现有用,我仍然无法让我的循环执行。我正在努力使用MCMCglmm包的固定公式。我有很多模型要测试这个包,我想做一个循环来使工作更容易。每次我运行MCMCglmm时,我的目的都是使用" fixed"公式,并通过循环的每次迭代,我想改变其中一个变量,并输入修改版本的"固定"式。这是我到目前为止的代码:

for (i in 5:10){
    fixed <- as.formula(paste(as$area_pva ~ as$apva_1yr + as$year + as.numeric(unlist(as[i]))))
    print(fixed)

    model <- MCMCglmm(fixed=fixed,
                    rcov=~units, family="gaussian",
                    data=as,start=NULL, prior=NULL, random=NULL, tune=NULL,
                    pedigree=NULL, nodes=NULL, scale=FALSE, nitt=30000,
                    thin=30, burnin=1000, pr=TRUE, pl=TRUE, verbose=TRUE, 
                    DIC=TRUE, singular.ok=FALSE, saveX=TRUE, saveZ=TRUE, 
                    saveXL=TRUE, slice=FALSE, ginverse=NULL)

   summary(model)


}

请你,如果你能帮我把这个循环正确执行,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

没关系,我已经得到了答案。我需要让整个公式成为一系列字符串,如下所示:

fixed <- as.formula(paste("as$area_pva~as$apva_1yr+as$year+", colnames(as)[i], sep=""))

现在效果很好。