我正在尝试在 knitr 中包含使用 ggmap 库的地图:
library(ggmap)
murder = subset(crime, offense='murder')
qmplot(lon, lat, data=murder)
它在 knitr 之外运行良好,但是当我尝试在 knitr 中运行此代码块时,出现错误:
UseMethod(“深度”)中的错误:没有适用于“深度”的方法应用于“NULL”类的对象
并且最终的PDF中没有地图
我尝试将 qmplot 行包装在 evaluate(...) 中,但这没有用
库的输出(knitr);会话信息()
> 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
我还尝试通过 Rscript(即不是来自 VIM 内部)运行相同的代码,其中包含以下内容:
Rscript -e "library(knitr); knit('map.Rnw')"
我得到一个类似的错误:
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 和 ggplot v 0.9.3.1