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