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

5
我想将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系统。


请举一个导致“按回车键查看下一个图形”的摘要示例。 - nograpes
1个回答

12

有两个选项,可以使用以下虚拟数据:

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”等。有关ask的详细信息,请参见?plot.lm,有关文件名中符号的说明,请参见?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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接