如何根据土地覆盖计算 R 中的散点图?

How to compute scatterplots in R according to land cover?

我有两个光栅:

raster1
    class      : RasterLayer 
band       : 6  (of  6  bands)
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : XXXX
names      : GPP
values     : 0, 435.5 (min, max)

raster2
class      : RasterLayer 
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : memory
names      : GPP
values     : 0, 506.4  (min, max)

我想根据土地覆盖绘制这两个栅格之间的散点图。我的土地覆盖栅格文件是:

landcover
class      : RasterLayer 
dimensions : 2803, 5303, 14864309  (nrow, ncol, ncell)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
source     : XXXX 
names      : landuse
values     : 1, 12  (min, max)

我如何为变量 GPP 绘制 raster1 和 raster2 之间的散点图,让我们说常绿森林的土地覆盖,它由 "landcover" 的光栅文件中的值 1 表示。

第一步是根据您确定的土地利用对每个栅格进行子集化。然后你可以直接绘制它们:

plot(raster1[landcover==1],raster2[landcover==1])