用R和BioConductor進行基因芯片數據分析(三):計算median

我們已經知道要分析的數據對每個基因有3個重複測定值,經過缺失值填充後,每個基因都有3個可用值。

這一步很簡單,就是取這3個值的中位數,即median。

方法很多,在excel中可以用median函數;

在R中以下代碼進行操作:

get_median<-function(i,j){ 
num_vec<-c(imputeddata[i*3-2,j],imputeddata[i*3-1,j],imputeddata[i*3,j]) 
median(num_vec) 

#A simple function to calculate median value of three replicates

dimrow<-(dim(imputeddata)[1])/3 
mediandata<-matrix(data = NA, nrow =dimrow, ncol = dim(imputeddata)[2], byrow = TRUE, dimnames = NULL) 
#Create a blank matrix to store median values

for (i in 1:dimrow){ 
for (j in 1:dim(imputeddata)[2]){ 
mediandata[i,j]<-get_median(i,j) 


#Assign median value using the function get_median()

 

現在我們得到了中位數的數據,儲存在mediandata對象裏,行數是缺失值填充數據imputeddata的1/3,double check一下:

dim(imputeddata) 
[1] 11571 20 
dim(mediandata) 
[1] 3857 20

 

from: http://azaleasays.com/tag/r/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章