azalea says

用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

bioconductor microarray programming R study · Tweet Edit