使用png()和dev.off()在R中打印图(lm(y~x))

时间:2012-04-25 19:30:24

标签: linux r plot png

我想在绘制()线性模型的拟合时将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机器上。

1 个答案:

答案 0 :(得分:10)

使用以下虚拟数据

有两个选项
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.lmask的详细信息,请参阅?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()