我已将光栅转换为R中的点矩阵,该文件有3列,x (lon)、y (lat)和v(像素值)--我现在希望删除图像左上角所示的每二列x和每一行y,但不知道如何做到这一点。这样做的目的是在不进行插值或重采样的情况下对数据进行细化。
如图所示的示例数据可以在这里访问:https://drive.google.com/file/d/1XGEPsPEyrVNLEcZy-C6ES5915kWIaqGz/view?usp=sharing

发布于 2021-03-10 02:20:26
当问R问题时,请始终包括一个最小的可重复的、自成一体的示例,即显示一些代码,并且不依赖必须下载的文件。
当您开始使用光栅数据时,在创建点之前可能最容易操作光栅数据。
使用raster包:
示例数据
library(raster)
r <- raster(nrow=20, ncol=20, xmn=0, xmx=1, ymn=0, ymx=1, crs="+proj=utm +zone=1 +datum=WGS84")
values(r) <- 1:ncell(r)
p <- rasterToPoints(r)
plot(r)
points(p, cex=.5)解决方案
i <- seq(1, nrow(r), 2)
j <- seq(1, ncol(r), 2)
r[i,] <- NA
r[, j] <- NA
pp <- rasterToPoints(r)
points(pp, pch=20, cex=2)或者使用terra包:
library(terra)
r <- rast(nrow=20, ncol=20, xmin=0, xmax=1, ymin=0, ymax=1, crs="+proj=utm +zone=1 +datum=WGS84")
values(r) <- 1:ncell(r)
p <- as.points(r)
plot(r)
points(p, cex=.5)
i <- seq(1, nrow(r), 2)
j <- seq(1, ncol(r), 2)
r[i,] <- NA
r[, j] <- NA
pp <- as.points(r)
points(pp, pch=20, cex=2)

发布于 2021-03-09 18:12:59
这行得通吗?如果没有可重复的示例和所需的输出,很难知道要操作什么,但是这应该会从矩阵中删除偶数行和列。
library(dplyr)
matrix(1:100, nrow = 10) %>%
as.data.frame() %>%
filter(row_number() %% 2 != 0) %>%
select(seq(1, ncol(.), 2)) %>%
as.matrix()https://stackoverflow.com/questions/66552358
复制相似问题