When I used beadarry and limma packages to perform differential gene expression analysis on the GSE49454 data set, I stuck to this group name and tried a lot of methods.
url<-"ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE49nnn/GSE49454/matrix/"
filenm<-"GSE49454_series_matrix.txt.gz"
if(!file.exists("GSE49454_series_matrix.txt.gz")) download.file(paste(url, filenm, sep=""), destfile=filenm)
gse <- getGEO(filename=filenm)
summaryData <- as(gse, "ExpressionSetIllumina")
rna <- factor(pData(summaryData)[,"characteristics_ch1"])
fData(summaryData)$Status <-
ifelse(fData(summaryData)$PROBEQUALITY=="No match","negative","regular" )
Detection(summaryData) <- calculateDetection(summaryData,
status=fData(summaryData)$Status)
#normalization
summaryData.norm <- normaliseIllumina(summaryData,method="neqc",
status=fData(summaryData)$Status)
group <- pData(summaryData.norm)[ ,"characteristics_ch1"]
limmaRes <- limmaDE(summaryData, SampleGroup="characteristics_ch1")
design <- model.matrix(~0+rna)
colnames(design) <- levels(rna)
aw <- arrayWeights(exprs(summaryData.norm), design)
aw
fit <- lmFit(exprs(summaryData.norm), design, weights=aw)
contrasts <- makeContrasts(group: SLE-group: Healthy control of SLE, levels=design)
contr.fit <- eBayes(contrasts.fit(fit, contrasts))
topTable(contr.fit, coef=1)
Error in makeContrasts(SLE - control, levels = design) :
The levels must by syntactically valid names in R, see help(make.names). Non-valid names: rnagroup: Healthy control of SLE,rnagroup: SLE
Sorry, I am a newbie. I would also like to ask how I use the make.names function to change "group: SLE", "group: Healthy control of SLE" to "SLE" and "control" in the entire summaryData.norm dataset.