使用“批准”时出错:无法为签名““光栅””的函数“ nlayers”找到继承的方法

时间:2019-01-17 18:31:08

标签: r rastervis

我尝试将多光谱图像的监督分类结果可视化。因此,我需要使用不接受预测输入数据的函数“ ratify”。

我使用分类函数“ rpart”。输出是我用来预测图像每个像素的土地覆盖类别的模型。函数“ predict”的输出将是“ ratify”的输入,这是可视化预测的土地覆盖类别的第一步。由于此输出属于“因子”类,因此我将其转换为栅格(带有as.matrix和as.raster),就像“ ratify”所需。我仍然收到一条错误消息,说不支持输入数据的对象类。我还尝试单独放入数据框,矩阵和因数。

prediction <- predict(object = model_5cl, newdata = cbind.data.frame(B2,
B3, B4, B5, B6, B7, B8a, B11, B12), type = "class")

library(rasterVis)
prediction_m <- as.matrix(prediction)
prediction_rst <- as.raster(prediction_m)
pr <- ratify(prediction_rst)

我得到的输出如下:

  

pr <-批准(prediction_rst)       nlayers(x)== 1中的错误:         无法找到函数“ nlayers”的继承方法进行签名           ‘光栅’’

目标是以后可以使用'levelplot',这样我就得到了一张地图,该地图上的区域分为我指定的类。

0 个答案:

没有答案