4

当您 plot() 拟合线性模型时,我想将 R 生成的回归诊断图表打印到文件中。有四个,它们用

Hit <Return> to see next plot:
Hit <Return> to see next plot: 
Hit <Return> to see next plot: 
Hit <Return> to see next plot: 

因此,以下通常可以工作的代码没有:

png('Filename.png', width=mywidth, height=myheight, units='in', res=300)
plot(lm(y~x)
dev.off()

因为我仍然必须每次都按回车键,而且不清楚这是否会正确地进行子图绘制,或者将每个图命名为不同的文件。

如何捕获这些直接打印到磁盘的诊断图像?如果重要的话,我在一台linux机器上。

4

1 回答 1

11

几个选项是,使用以下虚拟数据

set.seed(42)
x <- rnorm(100)
y <- 3.4 + (0.5 * x) + rnorm(100)

使用ask参数并将其设置为FALSE

png('Filename%03d.png', width=6, height=6, units='in', res=300)
plot(lm(y~x), ask = FALSE)
dev.off()

请注意,我们必须使用%03d在“文件名”中添加一个数字,因此我们有"Filename001.png"四个图像的等。有关文件名中的符号和符号?plot.lm的详细信息,请参阅。ask?png

或者,使用 4 个面板设置绘图设备并绘制模型:

png("Filename_all.png", width=6, height=6, units='in', res=300)
layout(matrix(1:4, ncol = 2))
plot(lm(y~x))
layout(1)
dev.off()
于 2012-04-25T19:40:42.340 回答