[R-es] Dibujar un gráfico con 4 terms - ggeffects + plot
Jaume Tormo
j@utorb|@ @end|ng |rom gm@||@com
Mie Oct 21 13:34:56 CEST 2020
Hola de nuevo,
Me he dado cuenta de que cuando haces el modelo con 3 terms crea un objeto
diferente que cuando lo haces con 4 terms p.e.
# gráfica MAP vs prop.anu 3 terms
df <- ggpredict(m.glob.pre.anu
, terms = c("pre","area_m2","sum.vs.win")
)
p.tot<-plot(df) # al hacer esto, guarda plot(df) en p.tot y no dibuja nada
# gráfica MAP vs prop.anu 4 terms
df <- ggpredict(m.glob.pre.anu
, terms = c("pre", "area_m2", "sum.vs.win", "data_type")
)
p<-plot(df) # al hacer esto, guarda plot(df) en p pero dibuja en gráfico
str(p); attributes(p)
str(p.tot); attributes(p.tot)
Crea dos objetos diferentes... p.tot tiene que ver con gtable()
Editar eso resulta bastante complicado:
https://stackoverflow.com/questions/46516269/retrieve-facet-labels-from-a-ggplot-or-a-gtable-gtree-grob-gdesc-object
Creo que voy a crear los dos gráficos por separado y juntar las dos
imágenes en una. O bien probar con layout() o grid()
¿Alguna sugerencia?
Jaume.
El mar., 20 oct. 2020 a las 18:24, Jaume Tormo (<jautorbla using gmail.com>)
escribió:
> Hola eRRer using s,
>
> He creado un modelo mixto (adjunto) con lme4
> He dibujado la predicción usando:
> df <- ggpredict(m.glob.pre.anu
> , terms = c("pre", "area_m2", "sum.vs.win")
> )
> plot(df)
> Luego he arreglado el gráfico usando:
> df <- ggpredict(m.glob.pre.anu
> , terms = c("pre", "area_m2", "sum.vs.win")
> )
> plot(df)+
> labs(title = "Predicted number of annuals" # falla al posar 4 terms en el
> df
> ,x = "MAP"
> ,y = "Proportion of annuals"
> ) +
> scale_x_continuous(breaks = c(-2,0,2)
> , labels= etiquetas
> ) +
> labs(color="Area")
> Pero me interesa más el modelo con 4 terms que sería:
> df <- ggpredict(m.glob.pre.anu
> , terms = c("pre", "area_m2", "sum.vs.win",
> "data_type")
> )
> plot(df)
> Hasta aquí funciona todo.
> Pero si intento hacer los arreglos p.e.:
> plot(df)+
> labs(title = "Predicted number of annuals"
> ,x = "MAP"
> ,y = "Proportion of annuals"
> )
> Me da el siguiente error:
> Error in plot(df) + labs(title = "Predicted number of annuals", x = "MAP",
> :
> non-numeric argument to binary operator
> Creo que el error se debe a que en el modelo ahora hay 4 terms en lugar de
> 3 ¿Puede ser?
> ¿Se os ocurre qué puede estar pasando? ¿Sabéis cómo puedo especificar los
> títulos, leyendas, etc. de otra forma?
>
> Muchas gracias de antemano.
>
> --
> Dr. Jaume Tormo.
> Area of Ecology
> Department of Agrarian and Environmental Sciences
> Technological College. Agri-food and Environment
> University of Zaragoza, Spain
> 0034 974292678
> https://es.linkedin.com/in/jaumetormo
> https://acercad.wordpress.com/
>
>
--
Jaume Tormo.
https://es.linkedin.com/in/jaumetormo
https://acercad.wordpress.com/
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es