我在使用“光栅”包的“绘图”功能时遇到了一个奇怪的问题。
library(raster)
ras <- raster(ncol=10, nrow=10)
编辑
values(ras) <- runif(ncell(ras))
结束编辑
plot(ras)
Erreur dans as.double(y) :
cannot coerce type 'S4' to vector of type 'double'
对于我在网上阅读的内容,此错误取决于用户,并且可能取决于加载的包。就我而言,问题来自于 r 使用 'graphics' 包中的标准 'plot' 方法,而它应该使用特定的 'raster' 方法,因为 'ras' 是 rasterLayer 对象。但是,由于我不明白的原因,'plot' 没有导入到 'raster' 命名空间中,而所有其他函数都是。
> raster::plot
Erreur : 'plot' n'est pas un objet exporté depuis 'namespace:raster'
与之比较:
raster::persp
standardGeneric for "persp" defined from package "graphics"
function (x, ...)
standardGeneric("persp")
<environment: 0x0cd9eb80>
Methods may be defined for arguments: x
Use showMethods("persp") for currently available ones.
由于我不完全了解命名空间的行为方式,因此我正在寻求您的帮助!这种情况你是不是很熟悉,你有办法解决吗?同时,您是否知道显示命名空间内容的功能(这样我可以逐步检查栅格命名空间的内容)?
PS:我在 RStudio 中使用 R 2.15.2,加载了许多包,但都是最新的。
sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=French_Belgium.1252 LC_CTYPE=French_Belgium.1252 LC_MONETARY=French_Belgium.1252 LC_NUMERIC=C
[5] LC_TIME=French_Belgium.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] raster_2.0-41 sp_1.0-5
loaded via a namespace (and not attached):
[1] grid_2.15.0 hexbin_1.26.0 intervals_0.13.3 lattice_0.20-6 rgdal_0.8-4 spacetime_1.0-3 spam_0.29-2 tools_2.15.0
[9] xts_0.9-2 zoo_1.7-9
谢谢,
弗朗索瓦