无法在 ggmap::qmplot 中运行最简单的示例错误:“as.raster”没有适用的方法应用于“NULL”类的对象

问题描述

我正在尝试重建一些旧的讲义,但无法使 ggmap::qmplot() 的最基本示例发挥作用 - 我猜它们可能已被 raster 包的最近更新破坏了? (我已经尝试了最新的 CRAN 版本 ggmap,日期为 2019 年 2 月 5 日,以及新的 remotes::install_github(dkahle/ggmap))。

这个例子直接来自?qmplot(但没有在测试中运行以节省检查时间......!)

library(ggmap)
qmplot(lon,lat,data = crime)
## <lines denoting downloading of stamen tiles>

UseMethod("as.raster") 中的错误:没有适用于 'as.raster' 的方法应用于类“NULL”的对象

另一方面,我在加载的软件包列表中的任何位置都没有看到 raster(我的版本为 3.4-13,日期为 2021-06-15)??

我怀疑这属于 ggmap issues list,但我想我会先问这里,以防有人已经遇到/解决/解决了这个问题,或者我在做一些愚蠢的事情。


进一步考古的更新/结果:通过 expand.grid()lapply(split(.,seq(nrow(.)),...)plyr::ldply 创建的对象缺少 .id 字段,因为列表由 lapply 创建的是无名的。我不明白为什么这个曾经有效,因为 (1) expand.grid() 总是返回一个数据框; (2) 矩阵上的 split() 返回一个命名列表,而数据框上的 split() 返回一个未命名列表......我无法想象这些行为会在 R 中发生变化而不引起我的注意??

我通过 patching a fork 解决了这个问题,但真的很想了解是什么坏了(以及它是否对我来说是特殊的......)


other attached packages:
[1] ggmap_3.0.0.903 ggplot2_3.3.5  

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.6          pillar_1.6.1        compiler_4.2.0     
 [4] plyr_1.8.6          tools_4.2.0         bitops_1.0-7       
 [7] digest_0.6.27       lifecycle_1.0.0     tibble_3.1.2       
[10] gtable_0.3.0        lattice_0.20-44     pkgconfig_2.0.3    
[13] png_0.1-7           rlang_0.4.11        DBI_1.1.1          
[16] curl_4.3.2          withr_2.4.2         dplyr_1.0.7        
[19] httr_1.4.2          stringr_1.4.0       RgoogleMaps_1.4.5.3
[22] generics_0.1.0      vctrs_0.3.8         grid_4.2.0         
[25] tidyselect_1.1.1    glue_1.4.2          R6_2.5.0           
[28] jpeg_0.1-8.1        fansi_0.5.0         sp_1.4-5           
[31] tidyr_1.1.3         purrr_0.3.4         magrittr_2.0.1     
[34] scales_1.1.1        ellipsis_0.3.2      assertthat_0.2.1   
[37] colorspace_2.0-2    utf8_1.2.1          stringi_1.6.2      
[40] munsell_0.5.0       Crayon_1.4.1 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)