【发布时间】:2013-01-04 10:55:33
【问题描述】:
我在使用 'raster' 包的 'plot' 功能时遇到了一个奇怪的问题。
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
谢谢你,
弗朗索瓦
【问题讨论】:
-
在前三行
Error in .plotraster2(x, col = col, maxpixels = maxpixels, add = add, : no values associated with this RasterLayer之后出现不同的错误。使用帮助中的示例,看看您是否可以复制您的错误。 -
我得到了和 mnel 一样的错误...PS : 你可以使用this 有英文的错误信息..
-
是的,我忘了用数字填充栅格,抱歉。现在它应该可以工作了(或者像我一样失败)。
标签: r namespaces raster