R 如何替换NA';光栅对象中的几何图形

R 如何替换NA';光栅对象中的几何图形,r,spatial,raster,R,Spatial,Raster,我需要替换下面示例中光栅对象(r)中的NA library(raster) filename <- system.file("external/test.grd", package="raster") r <- raster(filename) 我不确定从光栅对象中删除NA值是否有意义,但您可以轻松替换它 例如: oldpar <- par(mfrow=c(1, 2)) plot(r) r[is.na(r)] <- 250 plot(r) par(oldpar) 更安

我需要替换下面示例中光栅对象(
r
)中的
NA

library(raster)
filename <- system.file("external/test.grd", package="raster")
r <- raster(filename)

我不确定从
光栅
对象中删除
NA
值是否有意义,但您可以轻松替换它

例如:

oldpar <- par(mfrow=c(1, 2))
plot(r)
r[is.na(r)] <- 250
plot(r)
par(oldpar)

更安全的内存方法(对于大文件)是使用重新分类:

library(raster)
filename <- system.file("external/test.grd", package="raster")
r <- raster(filename)
rna <- reclassify(r, cbind(NA, 250))
库(光栅)

filename是,
summary(as.data.frame(r,na.omit=T))
表示有6097个
na
。欢迎使用StackOverflow+正如你在答案中看到的,
na.ommit
是一个函数,而不是
As.data.frame
的参数。我看到了,@seancarmody,谢谢!尝试使用SpatialPixelsDataFrame来处理没有NAs的稀疏网格,但这是非常开放的,您真正需要什么?这似乎不适用于NaN(即重新分类(r,cbind(NaN,NA)))
r <- raster(filename)

r <- values(r)
head(r)
[1] NA NA NA NA NA NA

head(na.omit(r))
[1] 633.686 712.545 654.162 604.442 857.256 755.506
library(raster)
filename <- system.file("external/test.grd", package="raster")
r <- raster(filename)
rna <- reclassify(r, cbind(NA, 250))