我正在尝试创建和保存几个图形。我被困在factoextra包用来生成图形的情况下。
pca.plot<-function(x){
biplot<-paste(out_f,"\\biplot.jpg", sep="")
jpeg(file=biplot, type="cairo")
fviz_pca_biplot(x, geom = "text")
dev.off()
}这是一个简单的函数,从一个输入pca对象(使用FactoMineR包创建的pca)创建一个双图,out_f是以前定义的。当我逐行运行脚本时,它可以工作。当我将它作为脚本运行时,不会创建任何内容。
pca.plot<-function(x){
pve<-paste(out_f,"\\proportion_of_variance_explained.jpg", sep="")
jpeg(file=pve, type="cairo")
barplot(x$eig[,2], names.arg=1:nrow(x$eig),
main = "Variances",
xlab = "Principal Components",
ylab = "Percentage of variances",
col ="steelblue")
lines(x = 1:nrow(x$eig), x$eig[, 2], type="b", pch=19, col = "red")
dev.off()
}在这种情况下,没有问题。有人知道为什么在第一种情况下会出现问题吗?
提前谢谢你,约翰
发布于 2015-05-14 07:35:45
由因子外产生的地块是ggplot2。您应该使用print(fviz_pca_biplot(res.pca))如下:
# Principal component analysis
data(iris)
res.pca <- prcomp(iris[, -5], scale = TRUE)
# This will do nothing
jpeg("biplot.jpg")
fviz_pca_biplot(res.pca)
dev.off()
# This will do the right thing
jpeg("biplot.jpg")
print(fviz_pca_biplot(res.pca))
dev.off()祝好运!
https://stackoverflow.com/questions/30225412
复制相似问题