predict.ProbDistr: Predict function for probability distributions in Methyl-IT

View source: R/predictProbDistr.R View source: R/predictProbDistr.R

predict.ProbDistrR Documentation

Predict function for probability distributions in Methyl-IT


This is an utility function to get predictions from the probability distributions models used in Methyl-IT: Weibull, Gamma, and generalized Gamma. Some times, after the nonlinear fit of any of the mentioned modelsm we would like to evaluate the model output.


## S3 method for class 'ProbDistr'
predict(nlm, pred = "quant", q = 0.95,

## S3 method for class 'ProbDistrList'
predict(nlm, pred = "quant", q = 0.95,, num.cores = 1L, tasks = 0L)



An object carrying the best nonlinear fit for a distribution model obtained with function nonlinearFitDist.


Type of prediction resquested: *density* ('dens'),*quantiles* ('quant'), *random number* ('rnum') or *probabilities* ('prob').


numeric vector of quantiles, probabilities or an interger if pred = 'rnum'.

name of the distribution to fit: Weibull2P (default: 'Weibull2P'), Weibull three-parameters (Weibull3P), gamma with three-parameter (Gamma3P), gamma with two-parameter (Gamma2P), generalized gamma with three-parameter ('GGamma3P') or four-parameter ('GGamma4P').

num.cores, tasks

Paramaters for parallele computation using package BiocParallel-package: the number of cores to use, i.e. at most how many child processes will be run simultaneously (see bplapply and the number of tasks per job (only for Linux OS).


Predictions are based on the best model fit returned by function nonlinearFitDist. The possible prediction are: *density*, *quantiles*, *random number* or *probabilities*.


num.points <- 1000
HD <- makeGRangesFromDataFrame(
  data.frame(chr = 'chr1', start = 1:num.points, end = 1:num.points,
            strand = '*',
            hdiv = rweibull(1:num.points, shape = 0.75, scale = 1)),
  keep.extra.columns = TRUE)
nlms <- nonlinearFitDist(list(HD), column = 1, verbose = FALSE)

x=seq(0.1, 10, 0.05)
y <- predict(nlms[[1]], pred='dens', q = x,
y1 <- dweibull(x, shape = 0.75, scale = 1)
# The maximum difference between the 'theoretical' and estimated densities
max(abs(round(y, 2) - round(y1, 2)))

genomaths/MethylIT.utils documentation built on April 16, 2022, 10:51 p.m.