我通常很擅长找出错误信息,只要它不需要看太多的底层代码,但我对处理空间数据非常陌生,而且无法理解这个错误信息。
我使用的是Biogeo软件包,其中RStudio v. 99.903,R版本3.2.4 (2016-03- 10 ),Windows 10(编辑:升级到最新版本的R没有消除错误)。,我目前正在学习教程,同时尝试将它应用到我自己的数据中。函数代码和相关数据在github上:https://github.com/cran/biogeo (教程叙事在docs文件夹中-我在开始,试图在第2页上绘制地图)。
当使用pointsworld函数时,我得到了以下错误
Error in as.double(y) : cannot coerce type 'S4' to vector of type 'double'我在堆栈溢出中发现的相关问题(一个未回答,一个我不太明白):
(1) R: Error in as.double(y) : cannot coerce type 'S4' to vector of type 'double'-- raster data (2) Self-authored package: load plot method for spatialPolygonsDataFrame
这是我的相关代码(来自本教程):
library(biogeo)
data(dat) # Access the species dataset
data(world) # Access the country boundaries
a <- pointsworld(world, dat) # basic plotting我还用自己的数据子集尝试了这个函数,并收到了同样的错误。
这些是我目前打开的所有包:
search()
[1] ".GlobalEnv" "package:dplyr" "package:maptools" "package:biogeo" "package:raster"
[6] "package:sp" "tools:rstudio" "package:stats" "package:graphics" "package:grDevices"
[11] "package:utils" "package:datasets" "package:methods" "Autoloads" "package:base" typeof()返回"world“的"S4"和dat的"list"
class()返回"SpatialPolygonsDataFrame" attr(,"package") "sp"表示"world“,"data.frame"返回"dat”
我希望我没有忽略一些简单的东西--我输入并重新键入了代码,用不同的数据集尝试过,用...www.thematicmapping.org/downloads/world_borders.php中建议的地图/边界文件(从一开始就去掉了点,我没有足够的信誉来发布链接),并且尝试直接从教程中复制和粘贴使用这个函数的不同示例。
希望这不仅仅是因为我还没有喝到足够的咖啡--我花了很多时间想办法解决这个问题,我希望这里的人能帮上忙。
谢谢!莉兹
发布于 2016-10-10 21:08:12
行号指的是https://github.com/cran/biogeo/blob/master/R/pointsworld.R的代码
在第37-40行中,我指定函数应该来自sp包(例如,sp::spatialPoints)。与我以前的评论相反,前几行没有什么需要改变的。sp函数的导入方式似乎有问题(??)。虽然导入sp函数才是真正的问题,但我现在不知道如何解决这个问题(只是需要学习!)。
https://stackoverflow.com/questions/39937838
复制相似问题