st_nb_apply: Apply a function to neighbors

View source: R/st_apply.R

st_nb_applyR Documentation

Apply a function to neighbors


Sometimes one may want to create custom lag variables or create some other neighborhood level metric that may not be defined yet. This st_nb_apply() enables you to apply a function to each observation's (xi) neighbors (xij).


st_nb_apply(x, nb, wt, .f, suffix = "dbl", ...)



A vector that will be used for neighbor xij values.


A neighbor list object as created by st_neighbors().


A weights list as created by st_weights().


A function definition. There are three default objects that can be used inside of the function definition:

  • .xij: neighbor values of x for the ith observation. This is simply the subset of x based on the corresponding nb list values for each element.

  • .nb: neighbor positions.

  • .wt: neighbor weights value.

If any of these three function arguments are omitted from .f, dots (...) must be supplied.


The map variant to use. Options are "dbl", "int", "lgl", "chr", "list".


See ?spdep::lag.listw for more.


#TODO make acs_nb object and make examples

JosiahParry/sfweight documentation built on April 4, 2022, 1:52 a.m.