I have some microarray data files containing two sets of samples in normal and disease condition. I have tested that the data also contain significant batch effects with hybridization time. However, the positive hits I obtained using the following approaches are very different (using the same cutoff value in decideTests function). I think I am supposed to use the first approach but I am surprised to see a big difference between the two approaches. could anyone help figure out the reasons?
Here eset is the expression dataset after RMA function.
# Consider batch effects in the model matrix design<-model.matrix(~0+condition.factor+batch.factor) # fit the linear model fit<-lmFit(eset,design)
Then I create contrast matrix and compute coefficients and errors using contrast.fit function
# remove batch effects first exp.eset.rm.batch<-removeBatchEffect(exprs(eset),batch.factor) # only consider normal and disease conditions in the model matrix design<-model.matrix(~0+condition.factor) # fit the linear model fit<-lmFit(eset.rm.batch,design)
where eset.rm.batch is the expression dataset containing expression values from exp.eset.rm.batch table