【问题标题】:save multiple plots r into separate jpg将多个图 r 保存到单独的 jpg 中
【发布时间】:2016-06-10 10:40:14
【问题描述】:

亲爱的 Stackoverflow 人!

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

Here are the data 作为 .csv 在 Dropbox 上。

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。

附言。我遵循使代码可重现并添加数据库示例的建议。当我使用 iris 时,它可以工作。我的数据似乎有问题,可能是一些 NA?但是当我使用 na.omit() 时,它是一样的。

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

【问题讨论】:

  • 请尽量使您的代码可重现。例如,使用irismtcars 绘制一些图。如果没有可重现的代码,我们只能猜测发生了什么。
  • 谢谢,搞定了。我添加了原始数据集并更正了“dane”。

标签: r plot sjplot


【解决方案1】:

这工作在这里!

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 个地块:

【讨论】:

  • 现在我们开始说话了! ;) 非常感谢。它也对我有用;)你能给我写几句解释的话。我是否纠正了循环参数错误?尤其是命名/调用变量?
  • 我认为问题在于命名文件。在您的代码中,i 采用孔列,然后paste0 将为您提供一个字符串向量,而不是一个字符串来表示文件名。
猜你喜欢
  • 1970-01-01
  • 2013-12-28
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2023-03-16
  • 1970-01-01
  • 2015-09-28
相关资源
最近更新 更多