gpt4 book ai didi

r - 区分R中栅格中的内部和外部NA

转载 作者:行者123 更新时间:2023-12-01 12:20:40 25 4
gpt4 key购买 nike

在 R 中,我如何区分内部和外部 NA 在周围和内部都有 NA 的形状?

在下面的示例中,例如,我如何才能仅选择 R Logo 外部的 NA(即,我如何才能使 Logo 圆圈中包含的所有内容都显示为白色)?

library(raster)
r <- raster(system.file("external/rlogo.grd", package="raster"))
r[r>240] = NA
par(mfrow=c(1,2))
plot(r, main='r')
plot(is.na(r), main="is.na(r)")

enter image description here

最佳答案

您实际上没有太多选择。这种类型的分析通常需要一些更精细的方法。然而,这是一个使用 clump 函数的简单解决方法:

#your inital code
library(raster)
r <- raster(system.file("external/rlogo.grd", package="raster"))
rna <- rc <- r
rna[r>240] = NA
par(mfrow=c(2,2))

#reclass values <=240 to NA (needed for clump function.
#Here, NAs are used to seperate clumps)
rc[r<=240] <- NA
rc <- clump(rc)

#what you get after applying the clump function
#are homogenous areas that are separated by NAs.
#Let's reclassify all areas with an ID > 8.
#In this case, these are the areas inside the ring.
rc_reclass <- rc
rc_reclass[rc_reclass>8] <- 100

#let's do some plotting
plot(r, main='r')
plot(is.na(rna), main="is.na(r)")
plot(rc, main="clumps")
plot(rc_reclass, main="clumps reclass")

enter image description here

关于r - 区分R中栅格中的内部和外部NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com