Manuel Mendoza
2022-Apr-26 10:03 UTC
[R-es] Representar numerosos elementos de una lista en un grid.arrange
Buenos días, obtengo 19 PDPs con un loop. Para poder representarlos juntos con un grid.arrange hago una lista con ellos, aprovechando el propio loop: list <- vector("list",length(predictores)) for(i in 1:length(predictores)){ pdp<-partial(fitxgb, pred.var=predictores[i],which.class=categories[j], plot = T, prob = F, chull=F,type="classification",plot.engine = "ggplot2", rug=T, train = datax)+ ylab("") +ylim(min,max) list[[i]] <- pdp } Y en lo que creo que es más fácil tengo el problema: no encuentro la forma de indicarle al arrange que me represente cada uno de los elementos de la lista. Poniendo lo de abajo me funciona, pero preferiría no tener que indicar cada elemento. He buscado en la red, pero no encontré nada que funcionase. windows();grid.arrange(list[[1]],list[[2]],list[[3]],list[[4]],list[[5]],list[[6]],list[[7]],list[[8]],list[[9]],list[[10]],list[[11]],list[[12]],list[[13]], list[[14]],list[[15]],list[[16]],list[[17]],list[[18]],list[[19]],ncol=5, nrow =4,top = textGrob(paste("TS",categories[j]), gp=gpar(fontsize=15,font=3))) Muchas gracias, como siempre, Manuel [[alternative HTML version deleted]]
Juan Carlos Lopez Mesa
2022-Apr-26 13:42 UTC
[R-es] Representar numerosos elementos de una lista en un grid.arrange
Hola, creo que algo así podría funcionar purrr::map(.x = list, .f = ~grid.arrange(.x, ncol = 5,...)) El mar, 26 abr 2022 a las 5:04, Manuel Mendoza (<mmendoza en fulbrightmail.org>) escribió:> Buenos días, obtengo 19 PDPs con un loop. Para poder representarlos juntos > con un grid.arrange hago una lista con ellos, aprovechando el propio loop: > > list <- vector("list",length(predictores)) > > for(i in 1:length(predictores)){ > pdp<-partial(fitxgb, > pred.var=predictores[i],which.class=categories[j], plot = T, prob = F, > chull=F,type="classification",plot.engine = "ggplot2", rug=T, > train = datax)+ > ylab("") +ylim(min,max) > list[[i]] <- pdp > } > > Y en lo que creo que es más fácil tengo el problema: no encuentro la forma > de indicarle al arrange que me represente cada uno de los elementos de la > lista. Poniendo lo de abajo me funciona, pero preferiría no tener que > indicar cada elemento. He buscado en la red, pero no encontré nada que > funcionase. > > > > windows();grid.arrange(list[[1]],list[[2]],list[[3]],list[[4]],list[[5]],list[[6]],list[[7]],list[[8]],list[[9]],list[[10]],list[[11]],list[[12]],list[[13]], > > list[[14]],list[[15]],list[[16]],list[[17]],list[[18]],list[[19]],ncol=5, > nrow =4,top = textGrob(paste("TS",categories[j]), > gp=gpar(fontsize=15,font=3))) > > Muchas gracias, como siempre, > Manuel > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- *Aviso legal:* El contenido de este mensaje y los archivos adjuntos son confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. Se encuentran dirigidos sólo para el uso del destinatario al cual van enviados. La reproducción, lectura y/o copia se encuentran prohibidas a cualquier persona diferente a este y puede ser ilegal. Si usted lo ha recibido por error, infórmenos y elimínelo de su correo. Los Datos Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra Política de Datos Personales que podrá consultar en la página web www.unal.edu.co <http://www.unal.edu.co/>.* *Las opiniones, informaciones, conclusiones y cualquier otro tipo de dato contenido en este correo electrónico, no relacionados con la actividad de la Universidad Nacional de Colombia, se entenderá como personales y de ninguna manera son avaladas por la Universidad. [[alternative HTML version deleted]]