imputeAssay {MatrixQCvis} | R Documentation

## Impute missing values in a 'matrix'

### Description

The function 'impute' imputes missing values based on one of the following principles: Bayesian missing value imputation ('BPCA'), k-nearest neighbor averaging ('kNN'), Malimum likelihood-based imputation method using the EM algorithm ('MLE'), replacement by the smallest non-missing value in the data ('Min'), replacement by the minimal value observed as the q-th quantile ('MinDet', default 'q = 0.01'), and replacement by random draws from a Gaussian distribution centred to a minimal value ('MinProb').

### Usage

    imputeAssay(a, method = c("BPCA", "kNN", "MLE", "Min", "MinDet", "MinProb"))

### Arguments

`a` | 'matrix' with samples in columns and features in rows
`method` | 'character', one of '"BPCA"', '"kNN"', '"MLE', '"Min"', '"MinDet"', or '"MinProb"'

### Details

'BPCA' wrapper for 'pcaMethods::pca' with 'methods = "bpca"'. 'BPCA' is a missing at random (MAR) imputation method.

'kNN' wrapper for 'impute::impute.knn' with 'k = 10', 'rowmax = 0.5', 'colmax = 0.5', 'maxp = 1500'. 'kNN' is a MAR imputation method.

'MLE' wrapper for 'imputeLCMD::impute.MAR' with 'method = "MLE"', 'model.selector = 1'/'imputeLCMD::impute.wrapper.MLE'. 'MLE' is a MAR imputation method.

'Min' imputes the missing values by the observed minimal value of 'x'. 'Min' is a missing not at random (MNAR) imputation method.

'MinDet' is a wrapper for 'imputeLCMD::impute.MinDet' with 'q = 0.01'. 'MinDet' performs the imputation using a deterministic minimal value approach. The missing entries are replaced with a minimal value, estimated from the 'q'-th quantile from each sample. 'MinDet' is a MNAR imputation method.

'MinProb' is a wrapper for 'imputeLCMD::impute.MinProb' with 'q = 0.01' and 'tune.sigma = 1'. 'MinProb' performs the imputation based on random draws from a Gaussion distribution with the mean set to the minimal value of a sample. 'MinProb' is a MNAR imputation method.

### Value

'matrix'

### Examples

    a <- matrix(1:100, nrow = 10, ncol = 10,
        dimnames = list(1:10, paste("sample", 1:10)))
    a[c(1, 5, 8), 1:5] <- NA

    imputeAssay(a, method = "kNN")
    imputeAssay(a, method = "Min")
    imputeAssay(a, method = "MinDet")
    imputeAssay(a, method = "MinProb")

[Package MatrixQCvis version 1.2.4 Index]