impute.mi {imp4p} | R Documentation |
Imputation of data sets containing peptide intensities with a multiple imputation strategy.
Description
This function allows imputing data sets containing peptide intensities with a multiple imputation strategy distinguishing MCAR and MNAR values. For details, see Giai Gianetto Q. et al. (2020) (doi: doi: 10.1101/2020.05.29.122770).
Usage
impute.mi(tab, conditions, repbio=NULL, reptech=NULL, nb.iter=3, nknn=15, selec=1000,
siz=900, weight=1, ind.comp=1, progress.bar=TRUE, x.step.mod=300, x.step.pi=300,
nb.rei=100, q=0.95, methodMCAR="mle",ncp.max=5,
maxiter = 10, ntree = 100, variablewise = FALSE,
decreasing = FALSE, verbose = FALSE, mtry = floor(sqrt(ncol(tab))),
replace = TRUE, classwt = NULL, cutoff = NULL, strata = NULL, sampsize = NULL,
nodesize = NULL, maxnodes = NULL, xtrue = NA,
parallelize = c('no', 'variables', 'forests'),
methodMNAR="igcda",q.min = 0.025, q.norm = 3, eps = 0,
distribution = "unif", param1 = 3, param2 = 1, R.q.min=1);
Arguments
tab |
A data matrix containing only numeric and missing values. Each column of this matrix is assumed to correspond to an experimental sample, and each row to an identified peptide. |
conditions |
A vector of factors indicating the biological condition to which each column (experimental sample) belongs. |
repbio |
A vector of factors indicating the biological replicate to which each column belongs. Default is NULL (no experimental design is considered). |
reptech |
A vector of factors indicating the technical replicate to which each column belongs. Default is NULL (no experimental design is considered). |
nb.iter |
The number of iterations used for the multiple imputation method (see |
methodMCAR |
The method used for imputing MCAR data. If |
methodMNAR |
The method used for imputing MNAR data. If |
nknn |
The number of nearest neighbours used in the SLSA algorithm (see |
selec |
A parameter to select a part of the dataset to find nearest neighbours between rows. This can be useful for big data sets (see |
siz |
A parameter to select a part of the dataset to perform imputations with the MCAR-devoted algorithm. This can be useful for big data sets (see |
weight |
The way of weighting in the algorithm (see |
ind.comp |
If |
progress.bar |
If |
x.step.mod |
The number of points in the intervals used for estimating the cumulative distribution functions of the mixing model in each column (see |
x.step.pi |
The number of points in the intervals used for estimating the proportion of MCAR values in each column (see |
nb.rei |
The number of initializations of the minimization algorithm used to estimate the proportion of MCAR values (see Details) (see |
q |
A quantile value (see |
ncp.max |
parameter of the |
maxiter |
parameter of the |
ntree |
parameter of the |
variablewise |
parameter of the |
decreasing |
parameter of the |
verbose |
parameter of the |
mtry |
parameter of the |
replace |
parameter of the |
classwt |
parameter of the |
cutoff |
parameter of the |
strata |
parameter of the |
sampsize |
parameter of the |
nodesize |
parameter of the |
maxnodes |
parameter of the |
xtrue |
parameter of the |
parallelize |
parameter of the |
q.min |
parameter of the |
q.norm |
parameter of the |
eps |
parameter of the |
distribution |
parameter of the |
param1 |
parameter of the |
param2 |
parameter of the |
R.q.min |
parameter of the |
Details
First, a mixture model of MCAR and MNAR values is estimated in each column of tab
. This model is used to estimate probabilities that each missing value is MCAR. Then, these probabilities are used to perform a multiple imputation strategy (see mi.mix
). Rows with no value in a condition are imputed using the impute.pa
function. More details and explanations can be bound in Giai Gianetto (2020).
Value
The input matrix tab
with imputed values instead of missing values.
Author(s)
Quentin Giai Gianetto <quentin2g@yahoo.fr>
References
Giai Gianetto, Q., Wieczorek S., Couté Y., Burger, T. (2020). A peptide-level multiple imputation strategy accounting for the different natures of missing values in proteomics data. bioRxiv 2020.05.29.122770; doi: doi: 10.1101/2020.05.29.122770
Examples
#Simulating data
res.sim=sim.data(nb.pept=2000,nb.miss=600,nb.cond=2);
#Imputation of the dataset noting the conditions to which the samples belong.
result=impute.mi(tab=res.sim$dat.obs, conditions=res.sim$conditions);
#Imputation of the dataset noting the conditions to which the samples belong
#and also their biological replicate, and using the SLSA method for the MCAR values
result=impute.mi(tab=res.sim$dat.obs, conditions=res.sim$conditions,
repbio=res.sim$repbio, methodMCAR = "slsa");
#For large data sets, the SLSA imputation can be accelerated thanks to the selec parameter
#and the siz parameter (see impute.slsa and mi.mix)
#but it may result in a less accurate data imputation. Note that selec has to be greater than siz.
#Here, nb.iter is fixed to 3
result1=impute.mi(tab=res.sim$dat.obs, conditions=res.sim$conditions, progress.bar=TRUE,
selec=400, siz=300, nb.iter=3, methodMCAR = "slsa", methodMNAR = "igcda");