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

时间:2015-04-17 10:00:33

标签: r rstudio r-caret

我已经加载了一些训练集,并希望将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呢?可能我应该以某种方式等待它?

1 个答案:

答案 0 :(得分:3)

最好将绘图存储在对象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()