如何在循环中绘制多个残差图?

时间:2014-06-19 19:32:13

标签: r plot anova mixed-models

在下面的示例中,我想在文件中编写每个模型的残差图。我不需要在显示器上看到它们。

for (i in 1:500){
     temp.model<-lme(as.formula(paste("Var",i) ~ X1*X2, sep=""), data = example, random=~1| Exp/Person)
     jpeg(paste("C:/Myfolder", i, ".jpg", sep = ""), quality=50, bg="white")
     plot(temp.model)
     dev.off ()
     graphics.off()
}

当我在没有循环的情况下运行此代码时,我获得了我想要的东西。但是,它会在循环中创建空白文件。

有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

答案在常见问题解答FAQ 7.22中。然而,直到您意识到nlme包中的plot.lme函数使用格子/网格图形来进行实际绘图(plot.lme的帮助页面上有引用,但不明显),这一点并不明显。

解决方案的简短形式(但我仍然建议阅读常见问题解答和其他文档以完全理解该问题)是将plot包装在print命令中。