分析差异基因时行名丢失

计算差异基因时显示行名缺失,检查其中的fit2文件发现行名全部变成数字了,请问下怎么修改代码能保留原始数据对行名,也就是基因名


allDiffGenes=c()
> for(i in 1:ncol(comp)){
+     fit=lmFit(data, design)
+     contrast=paste0(comp[2,i], "-", comp[1,i])
+     #print(contrast)
+     cont.matrix=makeContrasts(contrast, levels=design)
+     fit2=contrasts.fit(fit, cont.matrix)
+     fit2=eBayes(fit2)
+     
+     #???????л????IJ???????
+     allDiff=topTable(fit2,adjust='fdr',number=200000)
+     allDiffOut=rbind(id=colnames(allDiff),allDiff)
+     write.table(allDiffOut, file=paste0(contrast, ".all.txt"), sep="\t", quote=F, col.names=F)
+     
+     #?????????ԵIJ???????
+     diffSig=allDiff[with(allDiff, (abs(logFC)>logFCfilter & adj.P.Val < adj.P.Val.Filter )), ]
+     diffSigOut=rbind(id=colnames(diffSig),diffSig)
+     write.table(diffSigOut, file=paste0(contrast, ".diff.txt"), sep="\t", quote=F, col.names=F)
+     geneList[[contrast]]=row.names(diffSig)
+ }
Error in data.frame(logFC = M[top]) : row names contain missing values

检查一下是不是导入的时候把首列弄没了,光俊的代码未必能直接运行,最好检查一下每步格式和数据的结果