计算差异基因时显示行名缺失,检查其中的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
检查一下是不是导入的时候把首列弄没了,光俊的代码未必能直接运行,最好检查一下每步格式和数据的结果