Создайте много графиков одновременно в R - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть функция, которая генерирует график: function(x, y,"name")

Я хотел бы создать столько графиков, сколько «имен» присутствует в символе z

z

[1] "Bzw1"          "Dnajc1"        "Ppig"          "Prex1"         "Dpm1"          "Prpf38b"      
[7] "Snrnp70"       "Spty2d1"       "Cbl"           "Anxa2"         "Ggnbp2"        "Cltc"

и сохраните их все в рабочем каталоге.

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Проголосовал за ответ выше. Однако это одно конкретное место, где a для l oop тоже неплохой выбор. Как в:

z <- c("Bronx","Staten","Tribeca")
func <- function(i,z){

  filename <- paste0("plot_",i,".png")
  png(filename)
  plot(1:30,rep(which(i==z),30)) # just getting 3 simple plots to print
  dev.off()}

for (i in z) func(i,z)
# You will find the plots as .png files in your working directory 
# with "plot_" prepended to each name
1 голос
/ 20 апреля 2020

Предположим, ваша функция custom_plot. Затем попробуйте с этим:

lapply(X = z,
       FUN = function(name)
       {
           png(filename = paste0(name, ".png"))
           custom_plot(x, y, name)
           dev.off()
       })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...