Learn R Programming

spatialEco (version 1.3-0)

poly.regression: Local Polynomial Regression

Description

Calculates a Local Polynomial Regression for smoothing or imputation of missing data.

Usage

poly.regression(
  y,
  x = NULL,
  s = 0.75,
  impute = FALSE,
  na.only = FALSE,
  ci = FALSE,
  ...
)

Arguments

y

Vector to smooth or impute NA values

x

Optional x covariate data (must match dimensions of y)

s

Smoothing parameter (larger equates to more smoothing)

impute

(FALSE/TRUE) Should NA values be inputed

na.only

(FALSE/TRUE) Should only NA values be change in y

ci

(FALSE/TRUE) Should confidence intervals be returned

...

Additional arguments passed to loess

Value

If ci = FALSE, a vector of smoothed values otherwise a list object with:

loess A vector, same length of y, representing the smoothed or inputed data

lower.ci Lower confidence interval

upper.ci Upper confidence interval

See Also

loess for loess ... model options

Examples

Run this code
# NOT RUN {
 x <- seq(-20, 20, 0.1)
 y <- sin(x)/x + rnorm(length(x), sd=0.03)
 p <- which(y == "NaN")
 y <- y[-p]
 r <- poly.regression(y, ci=TRUE, s=0.30)
 
 plot(y,type="l", lwd=0.5, main="s = 0.10")
   y.polygon <- c((r$lower.ci)[1:length(y)], (r$upper.ci)[rev(1:length(y))])
   x.polygon <- c(1:length(y), rev(1:length(y)))
   polygon(x.polygon, y.polygon, col="#00009933", border=NA) 
      lines(r$loess, lwd=1.5, col="red")
 
 # Impute NA values, replacing only NA's
 y.na <- y
 y.na[c(100,200,300)] <- NA 
 p.y <- poly.regression(y.na, s=0.10, impute = TRUE, na.only = TRUE)
 y - p.y
 
 plot(p.y,type="l", lwd=1.5, col="blue", main="s = 0.10")
   lines(y, lwd=1.5, col="red")

# }

Run the code above in your browser using DataLab