2013-06-01 19 views
5

knitr kullanarak ggmap dahil hata:Ben knitr içinde ggmap kütüphaneyi kullanan bir harita dahil çalışıyorum

Error in UseMethod("depth"): no applicable method for 'depth' applied to an object of class "NULL"

Ve

ben iç qmplot çizgisini kaydırma denedim nihai PDF hayır harita var (...) değerlendirir, ancak bu işe yaramadı


Kitaplık (knitr) çıktısı; sessionInfo() Aşağıdaki ile

> library(knitr) 
> sessionInfo() 
version 3.0.1 (2013-05-16) 
Platform: i686-redhat-linux-gnu (32-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8  
[7] LC_PAPER=C     LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

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

other attached packages: 
[1] knitr_1.2  vimcom_0.9-8 setwidth_1.0-3 

loaded via a namespace (and not attached): 
[1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 stringr_0.6.2 tools_3.0.1 
Ben de Rscript aracılığıyla aynı kodu çalıştıran çalıştı

(yani değil VIM içinden):

Rscript -e "library(knitr); knit('map.Rnw')" 

Ve benzer bir hata alıyorum:

Error in UseMethod("depth") : 
no applicable method for 'depth' applied to an object of class "NULL" 
Calls: knit ... grid.draw -> grid.draw.gTableChild -> upViewport -> depth 

ggmap v 2.3 ve ggplot v kullanımı 0.9.3. 1

+1

Sorunu yeniden oluşturamıyorum. Lütfen kütüphane (knitr) yazınız; sessionInfo() '. –

+0

ve 'ggmap' v2.3' nedir? Bu garip; Seninle neredeyse aynı ortama sahibim, ama yine de sorunu yeniden üretemiyorum. –

cevap

7

Sorunu buldum: Son belgemde haritayı eklemek için tikz aygıtını kullanıyordum. Bu tikz cihazı haritalar için (veya en azından daha büyük haritalar) çalışmak için görünmüyor.

Aygıtı pdf veya png olarak değiştirdiğimde, harita belgende sorunsuz olarak yer aldı.

0

karşılaşıldı Bu hata (R3.4.1) komutlar bu çözüldü dışarı ayıran büyük dataframe (28x32000)

ggplot(z, aes(x=T,y=A,fill=F), title="D") + geom_bar(aes(fill=F), stat ="identity", position="dodge", colour="black") + facet_grid(P~T,scales='free_x',space='free_x') 
+ theme(strip.text.y = element_text(angle = 0), axis.text.x = element_text(angle = 270)) + guides(col=guide_legend(ncol=1)) 

üzerinde eklenmiş birçok ek komutlar, ve belki, gelişmiş okunabilirlik ile uzun ggplot komutu çağrılırken:

z2 <- ggplot(z, aes(x=T,y=A,fill=F), title="D") 
z2 <- z2 + geom_bar(aes(fill=F), stat ="identity", position="dodge", colour="black") 
z2 <- z2 + facet_grid(P~T,scales='free_x',space='free_x') 
z2 <- z2 + theme(strip.text.y = element_text(angle = 0), axis.text.x = element_text(angle = 270)) 
z2 <- z2 + guides(col=guide_legend(ncol=1)) 
z2 

Bunun (komutun boyutu) * (nesnenin boyutu) ile ilgili daha genel bir hata olup olmadığını merak etmek?

DÜZENLEME: yine muhtemelen bir bellek sorunu veya - - muhtemelen daha büyük, bu şekilde kesilmesine zaman yoğun görevleri daha olası komplo pencereyi zaman yeniden boyutlandırma ggplot2 daha küçük komutlara bu hatayı yeniden keşfedilmiş.