使用 R terra 函数计算行方式或列方式

问题描述 投票:0回答:1

我正在尝试使用 R terra 包计算 SpatRaster/SpatRaster 堆栈的行或列平均值,以便制作 Hovmoller 图,但发现自己被难住了。

我通常只使用这样的东西:

# Test matrix

A = matrix(seq(1,6,1),4,3,byrow = TRUE)

# Usually lots of NAs in the data

A[c(2,4,5)] <- NA

# Calculate the mean of each row

m = apply(A, 1, "mean", na.rm =T)

如何使用 terra 函数来计算这个值?阅读各种 app() 函数的文档,似乎并不清楚如何根据 SpatRaster 维度计算值。希望我遗漏了一些明显的东西。

r raster terra
1个回答
0
投票

您可以使用

aggregate

这个

x <- rast(A)
aggregate(x, c(1, ncol(x)), mean, na.rm=TRUE) |> values()
#     lyr.1
#[1,]   2.0
#[2,]   5.5
#[3,]   2.0
#[4,]   5.5

返回与

相同的数字
apply(A, 1, "mean", na.rm =T)
#[1] 2.0 5.5 2.0 5.5
© www.soinside.com 2019 - 2024. All rights reserved.