A fast scatterplot smoother based on B-splines with second order difference penalty
Usage
turbotrend(x, y, w = rep(1, length(y)), n = 100, lambda=10^seq(-10, 10, length=1000), iter=0, method=c("original", "demmler"))
Arguments
x,y
vectors giving the coordinates of the points in the scatter plot.
w
vector of weights of with same length as the data for a weighted smoothing. Default all weights are 1.
n
an integer indicating the number of intervals equal to 1 + number of knots. Currently the intervals must be langer than 10.
lambda
Optionally a user-defined penalty parameter can be provided, if not generalized cross-validation is used to find the optimal penalty parameter.
iter
Number of robustifying iterations similar as lowess.
method
method for solving the system of linear equations either using the data in the original space or transformed to the Demmler-Reinsch basis.
Details
some details about implementation
Value
An object of type pspline is returned as a list with the following items:
x
original data vector x
y
fitted y-values with same length as vector x
w
vector of weights
n
number of bins
ytrend
binnend fitted y-values
xtrend
binned x-values
lambda
if scalar penalty parameter used else if vector of two lower and upper bound of the grid
iter
number of robustifying iterations
gcv
generalized cross-validation
edf
effective degrees of freedom (trace of the smoother matrix)
call
function call which produced this output
Author(s)
Maarten van Iterson, Chantal van Leeuwen
References
van Iterson M, Duijkers FA, Meijerink JP, Admiraal P, van Ommen GJ, Boer
JM, van Noesel MM, Menezes RX (2012). A novel and fast normalization method for
high-density arrays. SAGMB, 11(4).
Paul .H.C. Eilers and Brain D. Marx (1996). Flexible smoothing with B-splines and Penalties. Statistical Science, Vol 11, No. 2, 89-121.
See Also
loess,lowess, smooth, smooth.spline and smooth.Pspline
Examples
library(marray)
data(swirl)
x <- maA(swirl)[,1]
y <- maM(swirl)[,1]
xord <- x[order(x)]
yord <- y[order(x)]
plot(xord, yord, main = "data(swirl) & smoothing splines + lowess")
lines(turbotrend(xord, yord), col = "red", lwd=2)
lines(smooth.spline(xord, yord), col = "green", lwd=2)
lines(lowess(xord, yord), col = "purple", lwd=2)
legend("topleft", c("piecewise constant P-splines", "Cubic B-splines", "lowess"), text.col=c("red","green","purple"), bty="n")
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(TurboNorm)
Loading required package: convert
Loading required package: Biobase
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
rbind, rownames, sapply, setdiff, sort, table, tapply, union,
unique, unsplit
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
Loading required package: limma
Attaching package: 'limma'
The following object is masked from 'package:BiocGenerics':
plotMA
Loading required package: marray
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/TurboNorm/turbotrend.Rd_%03d_medium.png", width=480, height=480)
> ### Name: turbotrend
> ### Title: turbotrend: a fast scatterplot smoother
> ### Aliases: turbotrend
> ### Keywords: smooth regression
>
> ### ** Examples
>
>
> library(marray)
> data(swirl)
>
> x <- maA(swirl)[,1]
> y <- maM(swirl)[,1]
> xord <- x[order(x)]
> yord <- y[order(x)]
>
> plot(xord, yord, main = "data(swirl) & smoothing splines + lowess")
> lines(turbotrend(xord, yord), col = "red", lwd=2)
> lines(smooth.spline(xord, yord), col = "green", lwd=2)
> lines(lowess(xord, yord), col = "purple", lwd=2)
> legend("topleft", c("piecewise constant P-splines", "Cubic B-splines", "lowess"), text.col=c("red","green","purple"), bty="n")
>
>
>
>
>
>
> dev.off()
null device
1
>