Learn R Programming

distr6 (version 1.5.2)

Convolution: Distribution Convolution Wrapper

Description

Calculates the convolution of two distribution via numerical calculations.

Usage

# S3 method for Distribution
+(x, y)

# S3 method for Distribution -(x, y)

Arguments

Value

Returns an R6 object of class Convolution.

Super classes

distr6::Distribution -> distr6::DistributionWrapper -> Convolution

Methods

Public methods

Method new()

Creates a new instance of this R6 class.

Usage

Convolution$new(dist1, dist2, add = TRUE)

Arguments

dist1

([Distribution]) First Distribution in convolution, i.e. dist1 <U+00B1> dist2.

dist2

([Distribution]) Second Distribution in convolution, i.e. dist1 <U+00B1> dist2.

add

(logical(1)) If TRUE (default) then adds the distributions together, otherwise substracts.

Method clone()

The objects of this class are cloneable with this method.

Usage

Convolution$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Details

The convolution of two probability distributions \(X\), \(Y\) is the sum $$Z = X + Y$$ which has a pmf, $$P(Z = z) = \sum_x P(X = x)P(Y = z - x)$$ with an integration analogue for continuous distributions.

Currently distr6 supports the addition of discrete and continuous probability distributions, but only subtraction of continuous distributions.

See Also

Other wrappers: DistributionWrapper, HuberizedDistribution, MixtureDistribution, ProductDistribution, TruncatedDistribution, VectorDistribution

Examples

Run this code
# NOT RUN {
binom <- Bernoulli$new() + Bernoulli$new()
binom$pdf(2)
Binomial$new(size = 2)$pdf(2)
norm <- Normal$new(mean = 3) - Normal$new(mean = 2)
norm$pdf(1)
Normal$new(mean = 1, var = 2)$pdf(1)
# }

Run the code above in your browser using DataLab