R 如何使用 lapply 保存 xts 图

R How do save xts plots using lapply

我正在处理一些议会文本椰干,我正在尝试可视化一些结果。因为我得到了一个项目列表,所以我试图使用 lapply 来遍历我的列表。

    keywords <- c("inburgering", 
             "inburgeringscursus", 
             "inburgeringsplicht", 
             "kennismigranten", 
             "gezinshereniging", 
             "gezinsvorming", 
             "Vreemdelingenwet")}

虽然输出条形图效果很好

lapply(keywords, function(keyword){
  dt <- dispersion(corpus_in_use, query = keyword, sAttribute = "date")
  ts <- xts(x = dt[,count],
          order.by = as.Date(sprintf("%s-01-01", dt[["date"]])))
  ts_qtr <- aggregate(ts, as.Date(sprintf("%s-01-01", gsub("^(\d{4})-.*?$", "\1", index(ts)))))

  jpeg(
    filename = paste("/Users/simgeh/Downloads/bar_", keyword, ".jpg", sep=""),
    width = 2000, height = 1200,
    res = NA
  )

  barplot(ts_qtr, main=keyword, lwd=1, las=3)
  dev.off()
})

使用 plot 可视化线图将不起作用。我没有错误。就 null device 1.

lapply(keywords, function(keyword){
  disp <- dispersion(corpus_in_use, query = keyword, sAttribute = c("date", "party"))
  ts <- xts(x = disp[,c("CDA", "PVV", "VVD", "PvdA", "D66", "GL")],
            order.by = as.Date(sprintf("%s-01-01", disp[["date"]])))

  #ts_adj <- aggregate(ts, as.Date(sprintf("%s-01-01", gsub("^(\d{4})-.*?$", "\1", index(ts)))))
  ts_adj <- as.xts(aggregate(ts, as.Date(as.yearmon(index(ts)))))

  jpeg(
    filename = paste("/Users/simgeh/Downloads/", keyword, ".jpg", sep=""),
    width = 4000, height = 2400,
    res = NA
  )

  plot(ts_adj, 
       main=keyword, 
       multi.panel = TRUE, 
       col = c("black", "black", "blue", "green", "red", "yellow"), 
       lwd=6, 
       cex = 1.5, 
       las = 1)
  dev.off()
})

感谢任何帮助。

我解决了。你必须在打印中设置它:

print(plot(ts_adj, 
       main=keyword, 
       multi.panel = TRUE, 
       col = c("black", "black", "blue", "green", "red", "yellow"), 
       lwd=6, 
       cex = 1.5, 
       las = 1))
  dev.off()