網頁

2022年4月11日 星期一

R:自動變數批次存圖

如果在R繪製了許多圖存在循序的變數名稱,如Figure1~Figure5,可以利用這2種方式將圖片存檔

1.利用向量c函數:利用向量c函數:
figure_lst <- list(Figure1, Figure2, Figure3, Figure4, Figure5)
for (i in 1:5) {
  filename <- paste0("Figure", as.numeric(i), ".eps")
  ggplot2::ggsave(filename = filename,
                  plot = figure_lst[[i]],
                  device = cairo_ps,
                  dpi = 1200,
                  width = NA,
                  height = NA,
                  units = "cm")
}

2 如果圖片很多這種方式不太方便,要先將變數名存入list,下面這種方式可以自動遞增變數名稱然後依序存檔,假設圖片名稱Figure1~Figure100:
for (i in 1:100) {
  filename <- paste0("Figure", as.numeric(i), ".eps")
  ggplot2::ggsave(filename = filename,
                  plot = eval(parse(text = paste0('Figure', i))),
                  device = cairo_ps,
                  dpi = 1200,
                  width = NA,
                  height = NA,
                  units = "cm")
}

 

沒有留言:

張貼留言