我需要从下面的例子中替换栅格对象(NA
)中的r
。
library(raster)
filename <- system.file("external/test.grd", package="raster")
r <- raster(filename)
我也尝试删除这些(并将结果放在data.frame
中),但无济于事。
dfr <- as.data.frame(r, na.rm=T)
summary(dfr)
# test
# Min. : 128.4
# 1st Qu.: 293.2
# Median : 371.4
# Mean : 423.2
# 3rd Qu.: 499.8
# Max. :1805.8
# NA's :6097
答案 0 :(得分:24)
更安全的内存方法(对于大文件)将使用重新分类:
library(raster)
filename <- system.file("external/test.grd", package="raster")
r <- raster(filename)
rna <- reclassify(r, cbind(NA, 250))
答案 1 :(得分:16)
我不确定从NA
对象中删除raster
值是否有意义,但您可以轻松替换它。
例如:
oldpar <- par(mfrow=c(1, 2))
plot(r)
r[is.na(r)] <- 250
plot(r)
par(oldpar)
如果您真的想要,可以将栅格值提取到矢量中,然后删除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