Nothing
##' @title Quantitative proteomics data imputation
##'
##' @description
##'
##' The `impute` method performs data imputation on `QFeatures` and
##' `SummarizedExperiment` instance using a variety of methods.
##'
##' Users should proceed with care when imputing data and take
##' precautions to assure that the imputation produce valid results,
##' in particular with naive imputations such as replacing missing
##' values with 0.
##'
##' See [MsCoreUtils::impute_matrix()] for details on
##' the different imputation methods available and strategies.
##'
##' @rdname impute
##'
##' @aliases impute impute,SummarizedExperiment-method impute,QFeatures-method
##'
##' @importFrom MsCoreUtils impute_matrix
##'
##' @examples
##' MsCoreUtils::imputeMethods()
##'
##' data(se_na2)
##' ## table of missing values along the rows (proteins)
##' table(rowData(se_na2)$nNA)
##' ## table of missing values along the columns (samples)
##' colData(se_na2)$nNA
##'
##' ## non-random missing values
##' notna <- which(!rowData(se_na2)$randna)
##' length(notna)
##' notna
##'
##' impute(se_na2, method = "min")
##'
##' if (require("imputeLCMD")) {
##' impute(se_na2, method = "QRILC")
##' impute(se_na2, method = "MinDet")
##' }
##'
##' if (require("norm"))
##' impute(se_na2, method = "MLE")
##'
##' impute(se_na2, method = "mixed",
##' randna = rowData(se_na2)$randna,
##' mar = "knn", mnar = "QRILC")
##'
##' ## neighbour averaging
##' x <- se_na2[1:4, 1:6]
##' assay(x)[1, 1] <- NA ## min value
##' assay(x)[2, 3] <- NA ## average
##' assay(x)[3, 1:2] <- NA ## min value and average
##' ## 4th row: no imputation
##' assay(x)
##'
##' assay(impute(x, "nbavg"))
"impute"
##' @param object A `SummarizedExperiment` or `QFeatures` object with
##' missing values to be imputed.
##' @param method `character(1)` defining the imputation method. See
##' `imputeMethods()` for available ones. See
##' [MsCoreUtils::impute_matrix()] for details.
##' @param ... Additional parameters passed to the inner imputation
##' function. See [MsCoreUtils::impute_matrix()] for details.
##'
##' @export
##' @rdname impute
setMethod("impute", "SummarizedExperiment",
function(object, method, ...) {
res <- impute_matrix(assay(object), method, ...)
assay(object) <- res
object
})
##' @param i Defines which element of the `QFeatures` instance to
##' impute. If missing, all assays will be imputed.
##'
##' @export
##' @rdname impute
setMethod("impute", "QFeatures",
function(object, method, ..., i) {
if (missing(i))
i <- seq_len(length(object))
for (ii in i) {
res <- impute_matrix(assay(object[[ii]]), method, ...)
assay(object[[ii]]) <- res
}
object
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.