2014-04-24 14 views
7

Ho la seguente R-Script:Errore con grid.arrange: ingresso deve essere grobs

library(ggplot2) 
    library(gridExtra) 
    Sys.setenv(LANG ="en") 
    c1 <- ggplot(mtcars, aes(factor(cyl))) + geom_bar() 
    c2 <- ggplot(mtcars, aes(factor(cyl))) + geom_bar() + coord_flip() 
    grid.arrange(c1, c2, ncols=1) 

ottengo il seguente errore con grid.arrange:

Error in arrangeGrob (.. ., as.table = as.table, clip = clip, principale = principale: ingresso deve essere grobs

non riesco a capire che cosa causa il problema

012.351.641.061.745!.

Qui sono le mie versioni utilizzate:

sessionInfo() versione R 3.0.2 (2013/09/25) Piattaforma: x86_64-apple-darwin10.8.0 (64-bit)

locale: 
    [1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8 

    attached base packages: 
    [1] grid  stats  graphics grDevices utils  datasets methods base  

    other attached packages: 
    [1] gridExtra_0.9.1 ggplot2_0.9.3.1 

    loaded via a namespace (and not attached): 
    [1] colorspace_1.2-4 digest_0.6.4  gtable_0.1.2  labeling_0.2  MASS_7.3-31  munsell_0.4.2 plyr_1.8.1  proto_0.3-10  Rcpp_0.11.1  reshape2_1.2.2 
    [11] scales_0.2.4  stringr_0.6.2 tools_3.0.2    

risposta

16

Mi è piaciuto questo particolare errore, questo è un furtivo. Per farla breve, il parametro è ncol, non ncols. Nel tuo codice, 1 viene trattato come oggetto plot, ecco perché non funziona, non perché i ggplot non sono validi. Il messaggio di errore non è molto utile, il che oscura la situazione.

# same error as with ncols=1 
grid.arrange(c1, c2, blah=1) 
# fine 
grid.arrange(c1, c2, ncol=1) 
+0

Grazie mille. Mi sembra che sia troppo presto per me. Ho ricontrollato tutto tranne questo .... Grazie! – JerryWho

+0

@JerryChi prego! – tonytonov

Problemi correlati