aroma.core (version 3.1.1)

colKernelSmoothing.matrix: Kernel smoothing of a matrix column by column

Description

Kernel smoothing of a matrix column by column.

Usage

# S3 method for matrix
colKernelSmoothing(Y, x=seq_len(nrow(Y)), w=NULL, xOut=x,
  kernel=c("gaussian", "uniform"), h, censorH=3, na.rm=TRUE, robust=FALSE, ...,
  verbose=FALSE)

Arguments

Y

A numeric JxI matrix (or a vector of length J.)

x

A (optional) numeric vector specifying the positions of the J entries. The default is to assume uniformly distributed positions.

w

A optional numeric vector of prior weights for each of the J entries.

xOut

A numeric vector specifying K target positions where the kernel is applied.

kernel

A character string or a function specifying the kernel used.

h

A single positive numeric specifying the bandwidth of the kernel.

censorH

A single positive numeric specifying the where to truncate the kernel. If Inf, no truncation is done.

na.rm

If TRUE, missing values are excluded, otherwise not.

robust

If TRUE, robust estimators are used, otherwise not.

...

Not used.

verbose

See Verbose.

Value

Returns a numeric KxI matrix (or a vector of length K).

See Also

*colBinnedSmoothing().

Examples

Run this code
# NOT RUN {
J <- 100
I <- 4
Y <- matrix(rnorm(I*J, sd=1/2), ncol=I)
# Introduce a gain in column 2 and 3
Y[30:50,2:3] <- Y[30:50,2:3] + 3
x <- 1:J

xOut <- x
Ys1 <- colKernelSmoothing(Y, x=x, xOut=xOut, kernel="gaussian", h=1)
Ys5 <- colKernelSmoothing(Y, x=x, xOut=xOut, kernel="gaussian", h=5)

xlim <- range(c(x,xOut))
ylim <- c(-3,5)
layout(matrix(1:I, ncol=1))
par(mar=c(3,3,1,1)+0.1, pch=19)
for (ii in 1:I) {
  plot(NA, xlim=xlim, ylim=ylim)
  points(x, Y[,ii], col="#999999")
  lines(xOut, Ys1[,ii], col=2)
  points(xOut, Ys1[,ii], col=2)
  lines(xOut, Ys5[,ii], col=3)
  points(xOut, Ys5[,ii], col=3)
}
# }

Run the code above in your browser using DataLab