Description Usage Arguments Details Value Author(s) See Also Examples
Signal and standard error estimates are subjected to log or nth-root transformation
1 2 3 | transformChannels(X, Y = NULL, normOpts = setNormOptions())
transformSEs(X, se.X, normOpts = setNormOptions())
|
X |
Matrix of (mean bead type) intensity data for red or green channel |
Y |
Matrix of intensity data for the alternate channel |
normOpts |
List specifying pre-processing settings. See |
se.X |
Matrix holding the standard error of the mean bead intensities |
The channel(s) are transformed according to the specifications in
normOpts
.
As signal intensities are estimated as (robust)
means within bead-types on an array, the estimated standard
errors are in fact standard errors of means. The standard errors of
means cannot be log or nth-root transformed in order to get the
standard error of the transformed signal mean. To avoid loading
the bead-level data into the workspace, the function
transformSEs
estimates the transformed standard errors using a
first order Taylor-expansion around the mean. In our experience, these
estimates are accurate except for very low signal intensities (below
noise level).
The output from transformChannels
or transformSEs
is a
list containg at least two of the following items
X |
Transformed X |
Y |
Transformed Y |
SE |
Estimated standard errors of transformed signal mean |
lstr |
Character string with description of transformation |
Lars Gidskehaug
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #Simulate intensity data
X <- matrix(exp(rnorm(4000))*100,nrow=1000,ncol=4,
dimnames=list(1:1000,paste('Array',1:4)))
Y <- matrix(exp(rnorm(4000))*70,nrow=1000,ncol=4,
dimnames=list(1:1000,paste('Array',1:4)))
#Transform signal
normOpts <- setNormOptions(offset=0)
trChannel <- transformChannels(X,Y,normOpts)
## Not run:
#Plot one array before and after transformation
dev.new()
plot(X[,1],Y[,1],pch='o',main='Raw data')
dev.new()
plot(trChannel$X[,1],trChannel$Y[,1],pch='o',
main=paste(trChannel$lstr,'transformed data'))
## End(Not run)
#Simulate a single bead type represented by 12 beads
beadLevelX <- rnorm(12,mean=800,sd=10)
sd.X <- sd(beadLevelX)
X <- mean(beadLevelX)
se.X <- sd.X/sqrt(length(beadLevelX))
#Transformed signal (4th-root)
transfX <- mean(beadLevelX^(1/4)) #true value
print(transfX)
transfX.1 <- X^(1/4) #good approximation
print(transfX.1)
#Transformed standard error (4th-root)
transfSE <- sd(beadLevelX^(1/4))/sqrt(length(beadLevelX)) #true value
print(transfSE)
transfSE.1 <- se.X^(1/4) #bad approximation
print(transfSE.1)
transfSE.2 <- transformSEs(X,se.X,normOpts=normOpts) #good approximation
print(transfSE.2$SE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.