2014-04-24 16 views
7

olmalıdır Aşağıdaki R-Koduna:Hata: girdi 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) 

Ben grid.arrange ile aşağıdaki hatayı alıyorum: arrangeGrob içinde

Hata (.. ., as.table = as.table, klip = klibi, = ana ana,: giriş Grobs olmalıdır

ben soruna neden anlamaya olamaz

!.

sessionInfo() R versiyonu 3.0.2 (2013/09/25) Platformu: x86_64-elma-darwin10.8.0 (64-bit)

İşte benim kullanılan sürümleridir

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    

cevap

16

Bu özel yanılgıyı beğendim, bu gizli bir şey. Uzun lafın kısası olan parametre ncols değil ncol. Kodunuzda, 1 bir çizim nesnesi olarak kabul edilir, bu yüzden ggplots geçersiz olduğu için değil, başarısız olur. Hata iletisi durumu engelleyen çok yardımcı değildir.

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

Çok teşekkürler. Bana göre benim için çok erken görünüyor. Bunun dışında her şeyi kontrol ettim .... Teşekkürler! – JerryWho

+0

@JerryWho Aramıza hoşgeldin! – tonytonov