# Missing value imputation method for gene expression data

I am new to working with gene expression data sets and am wondering what is the most standard or best way to impute missing values in a gene expression data? I got mine from the GEO database and the accession number is GSE70947. This is a breast cancer data set with a total of 296 samples (148 normal/148 cancer) and there are 62976 features (genes).

The original data is only log2 normalized by the experimenter.

When I first queried the data from GEO database using GEOquery from Bioconductor, the data set had NAs in it and a lot of them -- I found that there are 729494 of them in the data set.

sum(is.na(gene.expr))
[1] 729494


Now, I am looking online to see what are the most common imputation methods for gene expression data, but there are so many (local, global, hybrid, knowledge assisted methods) and I don't really know which is more suitable for my data set. I am just wondering what is the best way to impute the NAs. Should I just impute the NAs to 0s?

• Once I imputed NAs to 0s and that was a mistake. NA is 'no available' record and it can be anything. So you can work with logs, do na.omit of your z-scores or download raw data and process it by yourself with bioconductor. It's Agilent-028004 SurePrint G3 Human GE 8x60K Microarray, so it should be a package to deal with it. Then you can do anything with normalized signals. Apr 22 at 8:07
• What about Bayesian approaches like mc-stan.org? Those generally provide good approaches for working with missing data. Apr 23 at 15:59
• @Adamm You said, "It's Agilent-028004 SurePrint G3 Human GE 8x60K Microarray, so it should be a package to deal with it". How so? Where can I find it? Apr 24 at 2:41