目錄
1.去除///
2.去除重復的基因名
3.表達矩陣自動log2化
4.矯正差異
表達量矩陣的數(shù)據(jù)清洗應該在注釋完成之后進行,并且下列操作最好按順序進行
1.去除///
如下圖的表格所示,同一個探針I(yè)D對應的gene有多個,用///分隔著,而我們想獲得一個探針I(yè)D只對應一個基因symbol的表格。
2.去除重復的基因名
表達矩陣注釋過后,通常會有一些基因名是重復
matrix <- aggregate(.~Gene.symbol, matrix, mean) ##把重復的Symbol取平均值
row.names(matrix) <- matrix$gene.name #把行名命名為SYMBOL
matrix <- subset(matrix, select = -1) #刪除Symbol列(一般是第一列)
Gene.symbol:是需要去重的所在例名
data:是表達矩陣
3.表達矩陣自動log2化
qx <- as.numeric(quantile(exprSet, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
(qx[6]-qx[1] > 50 && qx[2] > 0) ||
(qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
## 開始判斷
if (LogC) {
ex[which(ex <= 0)] <- NaN
## 取log2
exprSet <- log2(ex)
print("log2 transform finished")
}else{
print("log2 transform not needed")
}
4.矯正差異
library(limma)
boxplot(exprSet,outline=FALSE, notch=T, las=2) ##出箱線圖
### 該函數(shù)默認使用quntile 矯正差異
exprSet=normalizeBetweenArrays(exprSet)
boxplot(exprSet,outline=FALSE, notch=T, las=2)
## 這步把矩陣轉(zhuǎn)換為數(shù)據(jù)框很重要
class(exprSet) ##注釋:此時數(shù)據(jù)的格式是矩陣(Matrix)
exprSet <- as.data.frame(exprSet)
更多教學請關注:
????公眾號:LN生物筆記????文章來源:http://www.zghlxwxcb.cn/news/detail-547552.html
????知乎:小宇????文章來源地址http://www.zghlxwxcb.cn/news/detail-547552.html
到了這里,關于R語言 | GEO表達矩陣的數(shù)據(jù)清洗與預處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!