我有三个光栅,例如r1,r2,r3。我想使用rasterToPoints()从这些光栅创建空间点数据帧。但问题是,在执行rasterToPoints()期间,我想忽略任何至少包含一个NA的行。
library(raster)
r1 = raster(matrix(c(1,NA,2,3,4,5,NA,5,6), byrow = TRUE))
r2 = raster(matrix(c(1,2,2,NA,4,5,NA,5,64), byrow = TRUE))
r3 = raster(matrix(c(1,NA,2,3,56,5,54,5,6), byrow = TRUE))
r = stack(r1,r2,r3)
r_spdf = rasterToPoints(r, spatial = TRUE)
r_spdf@data
layer.1 layer.2 layer.3
1 1 1 1
2 NA 2 NA
3 2 2 2
4 3 NA 3
5 4 4 56
6 5 5 5
7 NA NA 54
8 5 5 5
9 6 64 6
我想忽略这一行r\u spdf@数据如果有一个单元为NA,则输出如下:
layer.1 layer.2 layer.3
1 1 1 1
2 2 2 2
3 4 4 56
4 5 5 5
5 5 5 5
6 6 64 6
后来呢无线电频率以上行的坐标如下:
> r_spdf@coords
x y
[1,] 0.5 0.94444444
[2,] 0.5 0.72222222
[3,] 0.5 0.50000000
[4,] 0.5 0.38888889
[5,] 0.5 0.16666667
[6,] 0.5 0.05555556