aroma.core (version 3.3.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)

Value

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

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.

Author

Henrik Bengtsson

See Also

*colBinnedSmoothing().

Examples

Run this code
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