【问题标题】:R: Error in as.double(y) : cannot coerce type 'S4' to vector of type 'double'-- raster dataR:as.double(y) 中的错误:无法将“S4”类型强制转换为“double”类型的向量——光栅数据
【发布时间】:2017-02-16 02:08:15
【问题描述】:

我在 Studio 中使用光栅 .tif 图像。我已经观看了使用下面的代码绘制栅格的教程,但是它对我不起作用。我得到错误:

as.double(y) 中的错误:无法将“S4”类型强制转换为“double”类型的向量

我已经加载了必要的包(rasterrgdal) 我也试过加载arulesViz,但得到同样的错误

YIELD <- raster("//Users//DevinOsborne//Desktop//Thesis//QGIS projects //Project//Rasters//Images//Yield_wheat.tif")

plot(YIELD,main= "Yield map")

【问题讨论】:

  • 你写YIELD时的输出是什么?当您尝试将栅格加载到 R 中时,是否收到任何错误消息?好像导入失败了。
  • 尝试更改toolsglobal options中的r version并重新启动r studio

标签: r plot raster r-raster


【解决方案1】:

要扩展@Chelmy88 的答案,请尝试sp::plot() 您首先需要sp 包; install.packages("sp")

我能够使用graphics::plot() 重新创建您的错误

我相信当你加载raster库时sp也会被加载。

【讨论】:

    【解决方案2】:

    我在客户 R 包中使用 rgdal 时遇到了类似的问题。 通过加载sp 库为我解决了这个错误。单独运行脚本时没有出现问题,但是一旦包含在包中,我在使用plot()时遇到了同样的错误:

    as.double(y) 中的错误:无法将类型“S4”强制转换为类型向量 '双'

    已通过在 NAMESPACE 文件中添加 import("sp") 并将“sp”添加到说明文件中的导入列表中解决了这个问题。

    很遗憾,我找不到需要哪个 sp 函数,因此我在 NAMESPACE 文件中使用完全导入而不是更有针对性的 importFrom()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多