如何从 R 中的脚本 运行 featurePlot?

How to run featurePlot from script in R?

我已经加载了一些训练集并想对其应用featurePlot

如果我在 RStudio 中直接从控制台执行此操作,它工作正常 -- 一些绘图出现在 RStudio 的绘图窗格中。

虽然看起来它是异步工​​作的。

如果我想从脚本运行它,我失败了:

library(ISLR); library(ggplot2); library(caret);
data(Wage)
training<-Wage;

##filename <- sprintf("images/wage%%03d.png")

##png(filename)

featurePlot(x=training[,c("age","education","jobclass")],
            y = training$wage,
            plot="pairs")

##dev.off()

没有任何图出现,如果写入未注释的文件,则会出现空文件。

如何从脚本中 运行 featurePlot 呢?也许我应该等待它以某种方式完成?

最好将绘图存储在对象 obj 中,然后打印此对象 print(obj),因为 featurePlot 是生成 lattice 图形的快捷方式。你可以试试:

library(ISLR)
library(ggplot2)
library(caret)
data(Wage)
training <- Wage

filename <- sprintf("images/wage%%03d.png")

obj <- featurePlot(x=training[,c("age","education","jobclass")],
                   y = training$wage,
                   plot="pairs")

png(filename)
print(obj)
dev.off()