re About ndups error chol(V)
0
0
Entering edit mode
@gordon-smyth
Last seen 4 hours ago
WEHI, Melbourne, Australia
Dear Kevin, Thanks for the extra information. 1. The error is arising because you have too few arrays to use duplicateCorrelation(). The help page says "For this function to return statistically useful results, there must be at least two more arrays than the number of coefficients to be estimated, i.e., two more than the column rank of design. " Your design matrix has one column, so you need at least 3 arrays to use duplicateCorrelation(). 2. The lowest possible correlation is -1/(ndups-1). For ndups=3, you will get singularity with correlation=-0.5, which is what you have. In any case, you should never use any correlation less than 0. Regarding you other questions, dye-swaps are always a good idea, but you can do an analysis without them, and between-array normalisation is not usually needed. Some unasked for advice: I think that spot weight functions like your wt.fun are crazy and unsupported by evidence. I think you should abandon it and use a decent background correction method instead (like normexp). Best wishes Gordon >Date: Tue, 30 Oct 2007 15:08:14 +0800 >From: " ?? " <zhaoye07 at="" gmail.com=""> >Subject: [BioC] re About ndups error chol(V) >To: bioconductor at stat.math.ethz.ch > >Dear Prof. Gorden: > >Thank you very much for your help. I am sorry for not telling the >enough information. I have two two-colour arrays to analyze. Each >probe is present three times on each chip side by side. I use Genepix >to get the gps files. >Here is my session information and functions. > > > sessionInfo() >R version 2.2.0, 2005-10-06, i386-pc-mingw32 > >attached base packages: >[1] "methods" "stats" "graphics" "grDevices" "utils" "datasets" >[7] "base" > > >library(limma) > >targets > >myfun<-function(x,threshold=50){ > okred<-abs(x[,"F635 Median"]-x[,"F635 Mean"])<threshold> okgreen<-abs(x[,"F532 Median"]-x[,"F532 Mean"])<threshold> as.numeric(okgreen & okred) > } > >RG <- read.maimages(targets$Filename, source="genepix", wt.fun=myfun) > >RG$printer <- getLayout(RG$genes) > >RG <- backgroundCorrect(RG, method="normexp", offset=50) > >MA<-normalizeWithinArrays(RG,layout,method="loess") > >design<-c(1,1) > >library(statmod) > >cor <- duplicateCorrelation(MA,design,ndups=3) > >cor$consensus.correlation > >fit<-lmFit(MA,design,ndups=3,correlation=cor$consensus.correlation) > >The consensus correlation returned by duplicateCorrelation is -0.5. >And when I input >"fit<-lmFit(MA,design,ndups=3,correlation=cor$consensus.correlation)" >,it complains an error on chol(V). > >Questions: >(1) why this error comes out? >(2) If the cor$consensus.correlation value is negative, could I use >the function "fit<-lmFit()"? If not, what is the range of the >cor$consensus.correlation that I can use in the function >"fit<-lmFit()". >(3) Do I or must I need swap the dyes for my experiment? >(4) Do I need use function "MA <- normalizeBetweenArrays(MA)" when I >use the function "fit<-lmFit()"?
• 832 views
ADD COMMENT

Login before adding your answer.

Traffic: 1689 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6