Free Access Week - Data Engineering + BI
Data Engineering and BI courses are free this week!
Free Access Week - Jun 2-8

distr6 (version 1.6.0)

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)=xP(X=x)P(Y=zx) 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