首页 > 解决方案 > “x”是一个列表,但在 R 上的无监督分类中没有组件“x”和“y”

问题描述

我正在尝试在 r 上的栅格堆栈上绘制 kmeans 分析的输出,但我得到了标题中的错误。这是我的输出栅格:

    unsuperClass results

    *************** Map ******************
    $map
    class      : RasterLayer 
    dimensions : 48219, 90691, 4373029329  (nrow, ncol, ncell)
    resolution : 10, 10  (x, y)
    extent     : 3909190, 4816100, 2404810, 2887000  (xmin, xmax, ymin, ymax)
    crs        : +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs 
    source     : r_tmp_2021-10-19_154600_2028_56752.grd 
    names      : layer 
    values     : 1, 4  (min, max)

如您所见,为了进行分析,我使用了 RStoolbox 中的“unsuperClass”函数。以及返回错误的代码:

    plot(unCrasterresult)
    Error in xy.coords(x, y, xlabel, ylabel, log) : 
      'x' is a list, but does not have components 'x' and 'y'

我知道我需要调用类似的东西

    plot(unCrasterresult$x, unCrasterresult$y)

并设置限制,但我不知道如何构造代码。

编辑:我也试过这段代码,但无济于事

    plot(unCrasterresult, xlim=c(3909190, 4816100), ylim=c(2404810, 2887000))

标签: rraster

解决方案


您需要加载光栅包才能绘制RasterLayer. 所以是这样的:

library(raster)
plot(unsuperClasresult$map)

推荐阅读