Learn R Programming

terra (version 1.7-3)

weighted.mean: Weighted mean of layers

Description

Compute the weighted mean for each cell of the layers of a SpatRaster. The weights can be spatially variable or not.

Usage

# S4 method for SpatRaster,numeric
weighted.mean(x, w, na.rm=FALSE, filename="", ...)

# S4 method for SpatRaster,SpatRaster weighted.mean(x, w, na.rm=FALSE, filename="", ...)

Value

SpatRaster

Arguments

x

SpatRaster

w

A vector of weights (one number for each layer), or for spatially variable weights, a SpatRaster with weights (should have the same extent, resolution and number of layers as x)

na.rm

Logical. Should missing values be removed?

filename

character. Output filename

...

options for writing files as in writeRaster

See Also

Summary-methods, weighted.mean

Examples

Run this code
b <- rast(system.file("ex/logo.tif", package="terra"))   

# give least weight to first layer, most to last layer
wm1 <- weighted.mean(b, w=1:3)

# spatially varying weights
# weigh by column number
w1 <- init(b, "col")

# weigh by row number
w2 <- init(b, "row")
w <- c(w1, w2, w2)

wm2 <- weighted.mean(b, w=w)

Run the code above in your browser using DataLab