用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/

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