将多个图表r保存到单独的jpg中

时间:2016-06-10 10:40:14

标签: r plot sjplot

亲爱的Stackoverflow'来自

我有简单的数据库,应用程序。创建130个变量,1500条记录和许多类似的图。我尽量避免手工保存。 for循环适用于绘图(在RStudio中)。

Here are the data在dropbox上为.csv。

data <- read.csv2("data.csv", header=TRUE)
data <- select(data,v1,v2,v3,v4,v5,v6,v7)

for (i in data) {
    sjp.frq(i)
}

我想将这些图保存在某个目录中,作为单独的.png或.jpg文件。我找到了一些线索here。代码如下所示:

data <- select(df,v1,v2,v3,v4,v5,v6,v7)
variables <- names(data)

for (i in data) {
  png(paste0("plots/plot_",names(data)[i],".png"))
    sjp.frq(i)
  dev.off()
}

我故意将sjp.frq表达式简化为不会使代码无法复杂化。

这就是问题所在。我只在文件夹中获得单个.png文件。我哪里弄错了?应该有七个。

最好的问候,MaciejB。

PS。我遵循使代码可重现的建议,并添加了我的数据库的样本。当我使用虹膜时,它起作用。我的数据似乎有些不对劲,有些NA可能呢?但是当我使用na.omit()时它是一样的。

PS.2我检查了另一个绘图函数,比如hist()或plot(),但它们是相同的。只生成并保存了一个图。

1 个答案:

答案 0 :(得分:0)

这可以在这里工作!

data1 <- read.csv2("~/Temp/data.csv", header=TRUE)
data <- select(data1,v1,v2,v3,v4,v5,v6,v7)
variables <- names(data)
dane=1:length(variables)
for (i in dane ) { #i=2
  png(paste0("Temp/plot_",names(data)[i],".png"))
  sjp.frq(data[,i],title = names(data)[i])
  dev.off()
}

这里有3个图:

enter image description here enter image description here enter image description here