gpt4 book ai didi

r - 如何在 R 中将二进制栅格聚合为百分比

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

我有一个分辨率为 1 米的二进制栅格(r),我想将其转换为分辨率为 4m 的百分比值。这个新栅格的每个像素值代表百分比,根据 1 的总频率计算16 像素。我查看了具有aggregate 功能的raster 包。然而,这不起作用。

   newras <-aggregate(r, fact=4,  fun= percent)

最佳答案

你所做的不起作用,因为没有名为percentage的函数。但你可以做一个。在本例中,平均值是分数,因此您可以将其乘以 100 以获得百分比。

示例数据

library(raster)
r <- raster()
set.seed(0)
values(r) <- sample(0:1, ncell(r), replace=TRUE)

聚合

a <- aggregate(r, 4, fun=function(x,...) 100 * mean(x))   
# or
a <- 100 * aggregate(r, 4, mean)

考虑NA

r[sample(ncell(r), 0.9 * ncell(r))] <- NA

# Make a function and use it
percentage <- function(x, ...) { x <- na.omit(x); 100 * mean(x) }
a <- aggregate(r, 4, fun=percentage)

# or do
a <- 100 * aggregate(r, 4, fun=mean, na.rm=TRUE)

关于r - 如何在 R 中将二进制栅格聚合为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102132/

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