Learn R Programming

spatstat (version 1.23-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

Examples

Run this code
data(longleaf)
   X <- unmark(longleaf)
   # inhomogeneous point pattern
   <testonly># smaller dataset
	longleaf <- longleaf[seq(1,longleaf$n, by=50)]</testonly>

   # 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 * (fit.3$maxlogpl - fit.h$maxlogpl)
   x <- X$x
   y <- X$y
   df <- 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