[Robast-commits] r462 - in pkg/RobLoxBioC: . R inst man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Mon Feb 27 00:24:46 CET 2012
Author: stamats
Date: 2012-02-27 00:24:46 +0100 (Mon, 27 Feb 2012)
New Revision: 462
Modified:
pkg/RobLoxBioC/DESCRIPTION
pkg/RobLoxBioC/R/robloxbiocBeadLevelList.R
pkg/RobLoxBioC/inst/NEWS
pkg/RobLoxBioC/man/robloxbioc.Rd
Log:
update for beadarray version >= 2.0.0, not yet tested
Modified: pkg/RobLoxBioC/DESCRIPTION
===================================================================
--- pkg/RobLoxBioC/DESCRIPTION 2012-02-01 17:43:20 UTC (rev 461)
+++ pkg/RobLoxBioC/DESCRIPTION 2012-02-26 23:24:46 UTC (rev 462)
@@ -1,10 +1,11 @@
Package: RobLoxBioC
-Version: 0.8.2
-Date: 2012-01-16
+Version: 0.8.3
+Date: 2012-02-26
Title: Infinitesimally robust estimators for preprocessing omics data
Description: Functions for the determination of optimally robust influence curves and
estimators for preprocessing omics data, in particular gene expression data.
Depends: R(>= 2.14.0), methods, Biobase, affy, beadarray, distr, RobLox, lattice, RColorBrewer
+Suggests: beadarrayExampleData
Author: Matthias Kohl <Matthias.Kohl at stamats.de>
Maintainer: Matthias Kohl <Matthias.Kohl at stamats.de>
LazyLoad: yes
Modified: pkg/RobLoxBioC/R/robloxbiocBeadLevelList.R
===================================================================
--- pkg/RobLoxBioC/R/robloxbiocBeadLevelList.R 2012-02-01 17:43:20 UTC (rev 461)
+++ pkg/RobLoxBioC/R/robloxbiocBeadLevelList.R 2012-02-26 23:24:46 UTC (rev 462)
@@ -3,7 +3,7 @@
eps = NULL, eps.lower = 0, eps.upper = 0.05, steps = 3L,
fsCor = TRUE, mad0 = 1e-4){
BLData <- x
- arraynms <- arrayNames(BLData)
+ arraynms <- sectionNames(BLData)
if(!is.null(arrays) && !is.character(arrays)) arraynms <- arraynms[arrays]
if(is.character(arrays)) arraynms <- which(arraynms %in% arrays)
len <- length(arraynms)
@@ -18,10 +18,11 @@
}
}
if(imagesPerArray == 1){
- pr <- getArrayData(BLData, what = "ProbeID", array = arraynms[1])
+ pr <- getBeadData(BLData, what = "ProbeID", array = arraynms[1])
sel <- pr != 0
pr <- pr[sel]
- finten <- getArrayData(BLData, what = what, log = log, array = arraynms[1])[sel]
+ finten <- getBeadData(BLData, what = what, array = arraynms[1])[sel]
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
finten <- finten[!nasinf]
}
@@ -39,12 +40,13 @@
& (stripnum[seq(1, len, by = 2)] == stripnum[seq(2, len, by = 2)] - 1))
if (sum(check) != length(check))
stop("Missing arrays")
- sel1 <- getArrayData(BLData, what = "ProbeID", array = arraynms[1]) != 0
- sel2 <- getArrayData(BLData, what = "ProbeID", array = arraynms[2]) != 0
- pr <- append(getArrayData(BLData, what = "ProbeID", array = arraynms[1])[sel1],
- getArrayData(BLData, what = "ProbeID", array = arraynms[2])[sel2])
- finten <- append(getArrayData(BLData, what = what, log = log, array = arraynms[1])[sel1],
- getArrayData(BLData, what = what, log = log, array = arraynms[2])[sel2])
+ sel1 <- getBeadData(BLData, what = "ProbeID", array = arraynms[1]) != 0
+ sel2 <- getBeadData(BLData, what = "ProbeID", array = arraynms[2]) != 0
+ pr <- append(getBeadData(BLData, what = "ProbeID", array = arraynms[1])[sel1],
+ getBeadData(BLData, what = "ProbeID", array = arraynms[2])[sel2])
+ finten <- append(getBeadData(BLData, what = what, array = arraynms[1])[sel1],
+ getBeadData(BLData, what = what, array = arraynms[2])[sel2])
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
finten <- finten[!nasinf]
}else{
@@ -80,13 +82,15 @@
GNoBeads[, i] <- blah$noBeads
if (BLData at arrayInfo$channels == "two" && !is.null(BLData[[arraynms[i]]]$R) && whatelse == "R") {
if (imagesPerArray == 1) {
- finten <- getArrayData(BLData, what = whatelse, log = log, array = arraynms[i])[sel]
+ finten <- getBeadData(BLData, what = whatelse, array = arraynms[i])[sel]
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
finten <- finten[!nasinf]
}
else if (imagesPerArray == 2) {
- finten <- append(getArrayData(BLData, what = whatelse, log = log, array = arraynms[j])[sel1],
- getArrayData(BLData, what = whatelse, log = log, array = arraynms[j + 1])[sel2])
+ finten <- append(getBeadData(BLData, what = whatelse, array = arraynms[j])[sel1],
+ getBeadData(BLData, what = whatelse, array = arraynms[j + 1])[sel2])
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
finten <- finten[!nasinf]
}
@@ -102,20 +106,22 @@
rm(probeIDs, blah)
gc()
if ((imagesPerArray == 1) && (i <= len)) {
- sel <- getArrayData(BLData, what = "ProbeID", array = arraynms[i]) != 0
- pr <- getArrayData(BLData, what = "ProbeID", array = arraynms[i])[sel]
- finten <- getArrayData(BLData, what = what, log = log, array = arraynms[i])[sel]
+ sel <- getBeadData(BLData, what = "ProbeID", array = arraynms[i]) != 0
+ pr <- getBeadData(BLData, what = "ProbeID", array = arraynms[i])[sel]
+ finten <- getBeadData(BLData, what = what, array = arraynms[i])[sel]
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
pr <- pr[!nasinf]
finten <- finten[!nasinf]
}
else if ((imagesPerArray == 2) && (j < len)) {
- sel1 <- getArrayData(BLData, what = "ProbeID", array = arraynms[j]) != 0
- sel2 <- getArrayData(BLData, what = "ProbeID", array = arraynms[j + 1]) != 0
- pr <- append(getArrayData(BLData, what = "ProbeID", array = arraynms[j])[sel1],
- getArrayData(BLData, what = "ProbeID", array = arraynms[j + 1])[sel2])
- finten <- append(getArrayData(BLData, what = what, log = log, array = arraynms[j])[sel1],
- getArrayData(BLData, what = what, log = log, array = arraynms[j + 1])[sel2])
+ sel1 <- getBeadData(BLData, what = "ProbeID", array = arraynms[j]) != 0
+ sel2 <- getBeadData(BLData, what = "ProbeID", array = arraynms[j + 1]) != 0
+ pr <- append(getBeadData(BLData, what = "ProbeID", array = arraynms[j])[sel1],
+ getBeadData(BLData, what = "ProbeID", array = arraynms[j + 1])[sel2])
+ finten <- append(getBeadData(BLData, what = what, array = arraynms[j])[sel1],
+ getBeadData(BLData, what = what, array = arraynms[j + 1])[sel2])
+ if(log) finten <- log2(finten)
nasinf <- !is.finite(finten) | is.na(finten)
pr <- pr[!nasinf]
finten <- finten[!nasinf]
@@ -131,8 +137,8 @@
else {
BSData <- new("ExpressionSetIllumina")
assayData(BSData) <- assayDataNew(exprs = G, se.exprs = GBeadStDev,
- NoBeads = GNoBeads, storage.mode = "list")
- rownames(exprs(BSData)) <- rownames(se.exprs(BSData)) <- rownames(NoBeads(BSData)) <- probes
+ nObservations = GNoBeads, storage.mode = "list")
+ rownames(exprs(BSData)) <- rownames(se.exprs(BSData)) <- rownames(nObservations(BSData)) <- probes
featureData(BSData) <- new("AnnotatedDataFrame", data = data.frame(ProbeID = probes, row.names = probes))
}
if (nrow(pData(BLData)) == len) {
Modified: pkg/RobLoxBioC/inst/NEWS
===================================================================
--- pkg/RobLoxBioC/inst/NEWS 2012-02-01 17:43:20 UTC (rev 461)
+++ pkg/RobLoxBioC/inst/NEWS 2012-02-26 23:24:46 UTC (rev 462)
@@ -8,9 +8,14 @@
information)
#######################################
+version 0.8.3
+#######################################
++ update for beadarray versions >= 2.0.0 with support by Mark Dunnings and
+ Andy Lynch
+
+#######################################
version 0.8
#######################################
-
+ renamed AffySimStudy.R to AffymetrixSimStudy.R
+ update of Figure numbers in IlluminaExample.R
+ added scripts AffymetrixReproducibility.R and IlluminaReproducibility.R
@@ -27,8 +32,6 @@
#######################################
version 0.7
#######################################
-
-
GENERAL ENHANCEMENTS:
+ added tests/Examples folder with file RobLoxBioC-Ex.Rout.save to have
Modified: pkg/RobLoxBioC/man/robloxbioc.Rd
===================================================================
--- pkg/RobLoxBioC/man/robloxbioc.Rd 2012-02-01 17:43:20 UTC (rev 461)
+++ pkg/RobLoxBioC/man/robloxbioc.Rd 2012-02-26 23:24:46 UTC (rev 462)
@@ -1,177 +1,181 @@
-\name{robloxbioc}
-\alias{robloxbioc}
-\alias{robloxbioc-methods}
-\alias{robloxbioc,matrix-method}
-\alias{robloxbioc,AffyBatch-method}
-\alias{robloxbioc,BeadLevelList-method}
-
-\title{Generic Function for Preprocessing Biological Data}
-\description{
- Generic function for preprocessing biological data using optimally robust
- (rmx) estimators; confer Rieder (1994), Kohl (2005), Rieder et al (2008).
-}
-\usage{
-robloxbioc(x, ...)
-
-\S4method{robloxbioc}{matrix}(x, eps = NULL, eps.lower = 0, eps.upper = 0.05, steps = 3L,
- fsCor = TRUE, mad0 = 1e-4)
-
-\S4method{robloxbioc}{AffyBatch}(x, bg.correct = TRUE, pmcorrect = TRUE, normalize = FALSE,
- add.constant = 32, verbose = TRUE, eps = NULL,
- eps.lower = 0, eps.upper = 0.05, steps = 3L, fsCor = TRUE,
- mad0 = 1e-4, contrast.tau = 0.03, scale.tau = 10,
- delta = 2^(-20), sc = 500)
-
-\S4method{robloxbioc}{BeadLevelList}(x, log = TRUE, imagesPerArray = 1, what = "G", probes = NULL,
- arrays = NULL, eps = NULL, eps.lower = 0, eps.upper = 0.05,
- steps = 3L, fsCor = TRUE, mad0 = 1e-4)
-}
-\arguments{
- \item{x}{ biological data. }
- \item{\dots}{ additional parameters. }
- \item{eps}{ positive real (0 < \code{eps} <= 0.5): amount of gross errors.
- See details below. }
- \item{eps.lower}{ positive real (0 <= \code{eps.lower} <= \code{eps.upper}):
- lower bound for the amount of gross errors. See details below. }
- \item{eps.upper}{ positive real (\code{eps.lower} <= \code{eps.upper} <= 0.5):
- upper bound for the amount of gross errors. See details below. }
- \item{steps}{ positive integer. k-step is used to compute the optimally robust estimator. }
- \item{fsCor}{ logical: perform finite-sample correction. See function \code{\link[RobLox]{finiteSampleCorrection}}. }
- \item{mad0}{ scale estimate used if computed MAD is equal to zero}
- \item{bg.correct}{ if \code{TRUE} MAS 5.0 background correction is performed;
- confer \code{\link[affy:bgc]{bg.correct.mas}}. }
- \item{pmcorrect}{ method used for PM correction; \code{TRUE} calls an algorithm which is
- comparable to the algorithm of MAS 5.0; confer \code{\link[affy:pmcorrect]{pmcorrect.mas}}.
- If \code{FALSE} only the PM intensities are used. }
- \item{normalize}{ logical: if \code{TRUE}, Affymetrix scale normalization is performed. }
- \item{add.constant}{ constant added to the MAS 5.0 expression values before the normalization
- step. Improves the variance of the measure one no longer devides by numbers close to 0
- when computing fold-changes. }
- \item{verbose}{ logical: if \code{TRUE}, some messages are printed. }
- \item{contrast.tau}{ a number denoting the contrast tau parameter; confer the MAS 5.0
- PM correction algorithm. }
- \item{scale.tau}{ a number denoting the scale tau parameter; confer the MAS 5.0
- PM correction algorithm. }
- \item{delta}{ a number denoting the delta parameter; confer the MAS 5.0
- PM correction algorithm. }
- \item{sc}{ value at which all arrays will be scaled to. }
- \item{log}{ if \code{TRUE}, then the log2 intensities for each bead-type are summarized. }
- \item{imagesPerArray}{ Specifies how many images (strips) there are per array.
- Normally 1 for a SAM and 1 or 2 for a BeadChip. The images (strips) from the same array
- will be combined so that each column in the output represents a sample. }
- \item{what}{ character string specifying which intensities/values to summarize.
- See \code{\link[beadarray]{getArrayData}} for a list of possibilities. }
- \item{probes}{ Specify particular probes to summarize. If left \code{NULL} then all
- the probes on the first array are used. }
- \item{arrays}{ integer (scalar or vector) specifying the strips/arrays to summarize.
- If \code{NULL}, then all strips/arrays are summarized. }
-}
-\details{
- The optimally-robust resp. the radius-minimax (rmx) estimator for normal location
- and scale is used to preprocess biological data. The computation uses a k-step
- construction with median and MAD as starting estimators; cf. Rieder (1994) and
- Kohl (2005).
-
- If the amount of gross errors (contamination) is known, it can be
- specified by \code{eps}. The radius of the corresponding infinitesimal
- contamination neighborhood (infinitesimal version of Tukey's gross error model)
- is obtained by multiplying \code{eps} by the square root of the sample size.
-
- If the amount of gross errors (contamination) is unknown, which is typically
- the case, try to find a rough estimate for the amount of gross errors, such that
- it lies between \code{eps.lower} and \code{eps.upper}.
-
- If \code{eps} is \code{NULL}, the radius-minimax (rmx) estimator in sense of
- Rieder et al. (2001, 2008), respectively Section 2.2 of Kohl (2005) is used.
-
- The algorithm used for Affymetrix data is similar to MAS 5.0 (cf. Affymetrix (2002)).
- The main difference is the substitution of the Tukey one-step estimator by our rmx
- k-step (k >= 1) estimator in the PM/MM correction step. The optional scale normalization
- is performed as given in Affymetrix (2002).
-
- In case of Illumina data, the rmx estimator is used to summarize the bead types.
- The implementation for the most part was taken from function
- \code{\link[beadarray]{createBeadSummaryData}}.
-
- For sample size <= 2, median and MAD are used for estimation.
-
- If \code{eps = 0}, mean and sd are computed.
-}
-\value{ Return value depends on the class of \code{x}.
- In case of \code{"matrix"} a matrix with columns "mean" and "sd" is returned.
- In case of \code{"AffyBatch"} an object of class \code{"ExpressionSet"} is returned.
-}
-\references{
- Affymetrix, Inc. (2002). \emph{Statistical Algorithms Description Document}.
- Affymetrix, Santa Clara.
-
- Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
- Bayreuth: Dissertation.
-
- Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
-
- Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing
- the Radius. Statistical Methods and Applications \emph{17}(1) 13-40.
-
- Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing
- the Radius. Submitted. Appeared as discussion paper Nr. 81.
- SFB 373 (Quantification and Simulation of Economic Processes),
- Humboldt University, Berlin; also available under
- \url{www.uni-bayreuth.de/departments/math/org/mathe7/RIEDER/pubs/RR.pdf}
-}
-\author{Matthias Kohl \email{Matthias.Kohl at stamats.de}}
-%\note{}
-\seealso{\code{\link[RobLox]{roblox}}, \code{\link[RobLox]{rowRoblox}},
- \code{\link[affy]{AffyBatch-class}},
- \code{\link[affy:generateExprVal.method.avgdiff]{generateExprVal.method.mas}},
- \code{\link[Biobase:class.ExpressionSet]{ExpressionSet-class}},
- \code{\link[beadarray]{createBeadSummaryData}} }
-\examples{
-set.seed(123) # to have reproducible results for package checking
-
-## similar to rowRoblox of package RobLox
-ind <- rbinom(200, size=1, prob=0.05)
-X <- matrix(rnorm(200, mean=ind*3, sd=(1-ind) + ind*9), nrow = 2)
-robloxbioc(X)
-robloxbioc(X, steps = 5)
-robloxbioc(X, eps = 0.05)
-robloxbioc(X, eps = 0.05, steps = 5)
-
-## the function is designed for large scale problems
-X <- matrix(rnorm(50000*20, mean = 1), nrow = 50000)
-system.time(robloxbioc(X))
-
-## using Affymetrix-Data
-## confer example to generateExprVal.method.mas
-## A more worked out example can be found in the scripts folder
-## of the package.
-data(SpikeIn)
-probes <- pm(SpikeIn)
-mas <- generateExprVal.method.mas(probes)
-rl <- 2^robloxbioc(log2(t(probes)))
-concentrations <- as.numeric(colnames(SpikeIn))
-plot(concentrations, mas$exprs, log="xy", ylim=c(50,10000), type="b",
- ylab = "expression measures")
-points(concentrations, rl[,1], pch = 20, col="orange", type="b")
-legend("topleft", c("MAS", "roblox"), pch = c(1, 20))
-
-\dontrun{
-## "Not run" just because of computation time
-require(affydata)
-data(Dilution)
-eset <- robloxbioc(Dilution)
-## Affymetrix scale normalization
-eset1 <- robloxbioc(Dilution, normalize = TRUE)
-}
-
-## using Illumina-Data
-\dontrun{
-## "Not run" just because of computation time
-data(BLData)
-BSData <- robloxbioc(BLData, eps.upper = 0.5)
-}
-}
-\concept{normal location and scale}
-\concept{infinitesimal robustness}
-\concept{radius-minimax estimator}
-\keyword{robust}
+\name{robloxbioc}
+\alias{robloxbioc}
+\alias{robloxbioc-methods}
+\alias{robloxbioc,matrix-method}
+\alias{robloxbioc,AffyBatch-method}
+\alias{robloxbioc,BeadLevelList-method}
+
+\title{Generic Function for Preprocessing Biological Data}
+\description{
+ Generic function for preprocessing biological data using optimally robust
+ (rmx) estimators; confer Rieder (1994), Kohl (2005), Rieder et al (2008).
+}
+\usage{
+robloxbioc(x, ...)
+
+\S4method{robloxbioc}{matrix}(x, eps = NULL, eps.lower = 0, eps.upper = 0.05, steps = 3L,
+ fsCor = TRUE, mad0 = 1e-4)
+
+\S4method{robloxbioc}{AffyBatch}(x, bg.correct = TRUE, pmcorrect = TRUE, normalize = FALSE,
+ add.constant = 32, verbose = TRUE, eps = NULL,
+ eps.lower = 0, eps.upper = 0.05, steps = 3L, fsCor = TRUE,
+ mad0 = 1e-4, contrast.tau = 0.03, scale.tau = 10,
+ delta = 2^(-20), sc = 500)
+
+\S4method{robloxbioc}{BeadLevelList}(x, log = TRUE, imagesPerArray = 1, what = "G", probes = NULL,
+ arrays = NULL, eps = NULL, eps.lower = 0, eps.upper = 0.05,
+ steps = 3L, fsCor = TRUE, mad0 = 1e-4)
+}
+\arguments{
+ \item{x}{ biological data. }
+ \item{\dots}{ additional parameters. }
+ \item{eps}{ positive real (0 < \code{eps} <= 0.5): amount of gross errors.
+ See details below. }
+ \item{eps.lower}{ positive real (0 <= \code{eps.lower} <= \code{eps.upper}):
+ lower bound for the amount of gross errors. See details below. }
+ \item{eps.upper}{ positive real (\code{eps.lower} <= \code{eps.upper} <= 0.5):
+ upper bound for the amount of gross errors. See details below. }
+ \item{steps}{ positive integer. k-step is used to compute the optimally robust estimator. }
+ \item{fsCor}{ logical: perform finite-sample correction. See function \code{\link[RobLox]{finiteSampleCorrection}}. }
+ \item{mad0}{ scale estimate used if computed MAD is equal to zero}
+ \item{bg.correct}{ if \code{TRUE} MAS 5.0 background correction is performed;
+ confer \code{\link[affy:bgc]{bg.correct.mas}}. }
+ \item{pmcorrect}{ method used for PM correction; \code{TRUE} calls an algorithm which is
+ comparable to the algorithm of MAS 5.0; confer \code{\link[affy:pmcorrect]{pmcorrect.mas}}.
+ If \code{FALSE} only the PM intensities are used. }
+ \item{normalize}{ logical: if \code{TRUE}, Affymetrix scale normalization is performed. }
+ \item{add.constant}{ constant added to the MAS 5.0 expression values before the normalization
+ step. Improves the variance of the measure one no longer devides by numbers close to 0
+ when computing fold-changes. }
+ \item{verbose}{ logical: if \code{TRUE}, some messages are printed. }
+ \item{contrast.tau}{ a number denoting the contrast tau parameter; confer the MAS 5.0
+ PM correction algorithm. }
+ \item{scale.tau}{ a number denoting the scale tau parameter; confer the MAS 5.0
+ PM correction algorithm. }
+ \item{delta}{ a number denoting the delta parameter; confer the MAS 5.0
+ PM correction algorithm. }
+ \item{sc}{ value at which all arrays will be scaled to. }
+ \item{log}{ if \code{TRUE}, then the log2 intensities for each bead-type are summarized. }
+ \item{imagesPerArray}{ Specifies how many images (strips) there are per array.
+ Normally 1 for a SAM and 1 or 2 for a BeadChip. The images (strips) from the same array
+ will be combined so that each column in the output represents a sample. }
+ \item{what}{ character string specifying which intensities/values to summarize.
+ See \code{\link[beadarray]{getArrayData}} for a list of possibilities. }
+ \item{probes}{ Specify particular probes to summarize. If left \code{NULL} then all
+ the probes on the first array are used. }
+ \item{arrays}{ integer (scalar or vector) specifying the strips/arrays to summarize.
+ If \code{NULL}, then all strips/arrays are summarized. }
+}
+\details{
+ The optimally-robust resp. the radius-minimax (rmx) estimator for normal location
+ and scale is used to preprocess biological data. The computation uses a k-step
+ construction with median and MAD as starting estimators; cf. Rieder (1994) and
+ Kohl (2005).
+
+ If the amount of gross errors (contamination) is known, it can be
+ specified by \code{eps}. The radius of the corresponding infinitesimal
+ contamination neighborhood (infinitesimal version of Tukey's gross error model)
+ is obtained by multiplying \code{eps} by the square root of the sample size.
+
+ If the amount of gross errors (contamination) is unknown, which is typically
+ the case, try to find a rough estimate for the amount of gross errors, such that
+ it lies between \code{eps.lower} and \code{eps.upper}.
+
+ If \code{eps} is \code{NULL}, the radius-minimax (rmx) estimator in sense of
+ Rieder et al. (2001, 2008), respectively Section 2.2 of Kohl (2005) is used.
+
+ The algorithm used for Affymetrix data is similar to MAS 5.0 (cf. Affymetrix (2002)).
+ The main difference is the substitution of the Tukey one-step estimator by our rmx
+ k-step (k >= 1) estimator in the PM/MM correction step. The optional scale normalization
+ is performed as given in Affymetrix (2002).
+
+ In case of Illumina data, the rmx estimator is used to summarize the bead types.
+ The implementation for the most part was taken from function
+ \code{\link[beadarray]{createBeadSummaryData}}.
+
+ For sample size <= 2, median and MAD are used for estimation.
+
+ If \code{eps = 0}, mean and sd are computed.
+}
+\value{ Return value depends on the class of \code{x}.
+ In case of \code{"matrix"} a matrix with columns "mean" and "sd" is returned.
+ In case of \code{"AffyBatch"} an object of class \code{"ExpressionSet"} is returned.
+}
+\references{
+ Affymetrix, Inc. (2002). \emph{Statistical Algorithms Description Document}.
+ Affymetrix, Santa Clara.
+
+ Kohl, M. (2005) \emph{Numerical Contributions to the Asymptotic Theory of Robustness}.
+ Bayreuth: Dissertation.
+
+ Rieder, H. (1994) \emph{Robust Asymptotic Statistics}. New York: Springer.
+
+ Rieder, H., Kohl, M. and Ruckdeschel, P. (2008) The Costs of not Knowing
+ the Radius. Statistical Methods and Applications \emph{17}(1) 13-40.
+
+ Rieder, H., Kohl, M. and Ruckdeschel, P. (2001) The Costs of not Knowing
+ the Radius. Submitted. Appeared as discussion paper Nr. 81.
+ SFB 373 (Quantification and Simulation of Economic Processes),
+ Humboldt University, Berlin; also available under
+ \url{www.uni-bayreuth.de/departments/math/org/mathe7/RIEDER/pubs/RR.pdf}
+}
+\author{Matthias Kohl \email{Matthias.Kohl at stamats.de},
+update for beadarray versions >= 2.0.0 with support by Mark Dunnings and Andy Lynch}
+%\note{}
+\seealso{\code{\link[RobLox]{roblox}}, \code{\link[RobLox]{rowRoblox}},
+ \code{\link[affy]{AffyBatch-class}},
+ \code{\link[affy:generateExprVal.method.avgdiff]{generateExprVal.method.mas}},
+ \code{\link[Biobase:class.ExpressionSet]{ExpressionSet-class}},
+ \code{\link[beadarray]{summarize}} }
+\examples{
+set.seed(123) # to have reproducible results for package checking
+
+## similar to rowRoblox of package RobLox
+ind <- rbinom(200, size=1, prob=0.05)
+X <- matrix(rnorm(200, mean=ind*3, sd=(1-ind) + ind*9), nrow = 2)
+robloxbioc(X)
+robloxbioc(X, steps = 5)
+robloxbioc(X, eps = 0.05)
+robloxbioc(X, eps = 0.05, steps = 5)
+
+## the function is designed for large scale problems
+X <- matrix(rnorm(50000*20, mean = 1), nrow = 50000)
+system.time(robloxbioc(X))
+
+## using Affymetrix-Data
+## confer example to generateExprVal.method.mas
+## A more worked out example can be found in the scripts folder
+## of the package.
+data(SpikeIn)
+probes <- pm(SpikeIn)
+mas <- generateExprVal.method.mas(probes)
+rl <- 2^robloxbioc(log2(t(probes)))
+concentrations <- as.numeric(colnames(SpikeIn))
+plot(concentrations, mas$exprs, log="xy", ylim=c(50,10000), type="b",
+ ylab = "expression measures")
+points(concentrations, rl[,1], pch = 20, col="orange", type="b")
+legend("topleft", c("MAS", "roblox"), pch = c(1, 20))
+
+\dontrun{
+## "Not run" just because of computation time
+require(affydata)
+data(Dilution)
+eset <- robloxbioc(Dilution)
+## Affymetrix scale normalization
+eset1 <- robloxbioc(Dilution, normalize = TRUE)
+}
+
+## using Illumina-Data
+\dontrun{
+## "Not run" just because of computation time
+if(require(beadarrayExampleData)){
+ data(exampleBLData)
+ res <- robloxbioc(exampleBLData, eps.upper = 0.5)
+ res
+}
+}
+}
+\concept{normal location and scale}
+\concept{infinitesimal robustness}
+\concept{radius-minimax estimator}
+\keyword{robust}
More information about the Robast-commits
mailing list