Learn R Programming

spatstat.core (version 2.3-1)

harmonic: Basis for Harmonic Functions

Description

Evaluates a basis for the harmonic polynomials in \(x\) and \(y\) of degree less than or equal to \(n\).

Usage

harmonic(x, y, n)

Arguments

x

Vector of \(x\) coordinates

y

Vector of \(y\) coordinates

n

Maximum degree of polynomial

Value

A data frame with 2 * n columns giving the values of the basis functions at the coordinates. Each column is labelled by an algebraic expression for the corresponding basis function.

Details

This function computes a basis for the harmonic polynomials in two variables \(x\) and \(y\) up to a given degree \(n\) and evaluates them at given \(x,y\) locations. It can be used in model formulas (for example in the model-fitting functions lm,glm,gam and ppm) to specify a linear predictor which is a harmonic function.

A function \(f(x,y)\) is harmonic if $$\frac{\partial^2}{\partial x^2} f + \frac{\partial^2}{\partial y^2}f = 0.$$ The harmonic polynomials of degree less than or equal to \(n\) have a basis consisting of \(2 n\) functions.

This function was implemented on a suggestion of P. McCullagh for fitting nonstationary spatial trend to point process models.

See Also

ppm, polynom

Examples

Run this code
# NOT RUN {
   # inhomogeneous point pattern
   X <- unmark(longleaf)
   
# }
# NOT RUN {
   # fit Poisson point process with log-cubic intensity
   fit.3 <- ppm(X ~ polynom(x,y,3), Poisson())

   # fit Poisson process with log-cubic-harmonic intensity
   fit.h <- ppm(X ~ harmonic(x,y,3), Poisson())

   # Likelihood ratio test
   lrts <- 2 * (logLik(fit.3) - logLik(fit.h))
   df <- with(coords(X),
              ncol(polynom(x,y,3)) - ncol(harmonic(x,y,3)))
   pval <- 1 - pchisq(lrts, df=df)
# }

Run the code above in your browser using DataLab