删除NA行栅格

时间:2015-12-11 14:51:25

标签: r raster

我想要在R中删除NA行的栅格。行不在栅格的边缘,因此我尝试使用croptrim,但我没有&# 39;管理。有人可以提供一些提示吗? 这里是文件:https://drive.google.com/drive/folders/0B6-UFgI67v99c3ZhUFp0eWpzOGM

1 个答案:

答案 0 :(得分:0)

从概念上讲,我没有看到这有多大意义。或许对于矩阵,但是栅格没有丢失的行(即使数据可能以稀疏形式存储,它仍然会知道它们。)

这是你的问题:

library(raster)
r <- raster(nrow=10, ncol=10)
values(r) <- 1:ncell(r)
r[3:4, ] <- NA

您可能会认为这样做:

rr <- is.na(r)
i <- which(rowSums(rr) != ncol(rr))
x <- r[i, ,drop=FALSE]

但是这不符合你的要求,因为返回的栅格无效。我想你可以在循环中使用i并创建一个RasterLayer对象列表。

最后,你可以创建一个SpatialPointsDataFrame,它本质上是一个像这样的稀疏栅格:

  x <- as(r, 'SpatialPointsDataFrame')

但这是否有用取决于您对x

的下一步要做什么