Convolution: Distribution Convolution Wrapper

ConvolutionR Documentation

Distribution Convolution Wrapper

Description

Calculates the convolution of two distribution via numerical calculations.

Usage

## S3 method for class 'Distribution'
x + y

## S3 method for class 'Distribution'
x - y

Arguments

x, y

Distribution

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.

Value

Returns an R6 object of class Convolution.

Super classes

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

Methods

Public methods

Inherited 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 ± dist2⁠.

dist2

⁠([Distribution])⁠
Second Distribution in convolution, i.e. ⁠dist1 ± 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.

See Also

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

Examples

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)

RaphaelS1/distr6 documentation built on Feb. 24, 2024, 9:14 p.m.