gpt4 book ai didi

r - 如何自动从r中的光栅堆栈中删除空光栅?

转载 作者:行者123 更新时间:2023-12-03 09:25:02 27 4
gpt4 key购买 nike

在我的研究中,我创建了一个有大量冰的区域的卫星数据栅格堆栈,因此,很多图像完全充满了 NA。我想自动从堆栈中删除这些。

假设我有一个光栅堆栈,

r <- raster(nrow=10, ncol=10)
s1 <- s2<- list()
for (i in 1:12) {
s1[i] <- setValues(r, rnorm(ncell(r), i, 3) )
s2[i] <- setValues(r, rnorm(ncell(r), i, 3) )
}
s1 <- stack(s1)
s3 <- subset(s1,1)
s3[] <- NA
s2 <- stack(s2)

# regression of values in one brick (or stack) with another
s <- stack(s1,s3, s2)

中间的图像,图像13,完全不适用,现在我可以使用子集函数删除它,但是我怎样才能让 r 自动删除这一层,所以我得到的结果与;

s_no_na <- stack(s1,s2)

最佳答案

这是另一种方法。如果所有值都是 NA,则最小值也是 NA。所以你可以这样做:

 i <- !is.na(minValue(s))
s_no_na <- s[[i]]

如果 minValue 已知(否则需要计算),这可能会非常快。

关于r - 如何自动从r中的光栅堆栈中删除空光栅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22958210/

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