2014-04-24 27 views
7

Ich habe folgende R-Script:Fehler bei grid.arrange: Eingang muss sein 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) 

bekomme ich folgende Fehler mit grid.arrange:

Fehler in arrangeGrob (.. ., as.table = as.table, clip = Clip, Haupt = Haupt,: muss Eingang Grobs seine

ich nicht herausfinden kann, was das Problem verursacht

!.

Hier sind meine verwendeten Versionen:

Session() R Version 3.0.2 (2013.09.25) Plattform: x86_64-Apfel-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    

Antwort

16

Ich mochte diesen besonderen Fehler, das ist ein verstohlener. Lange Rede, kurzer Sinn, der Parameter lautet ncol, nicht ncols. In Ihrem Code wird 1 als Plot-Objekt behandelt, weshalb dies fehlschlägt, nicht weil ggplots ungültig sind. Die Fehlermeldung ist nicht sehr hilfreich, was die Situation verdunkelt.

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

Vielen Dank. Es scheint mir, es ist zu früh für mich. Ich habe alles doppelt überprüft, außer dem .... Danke! – JerryWho

+0

@JerryWho Sie sind herzlich willkommen! – tonytonov

Verwandte Themen