Skip to contents

DISTRIBUTION is a kind of abstract class (or interface) that the specific constructors should implement.

Value

a DISTRIBUTION object

Details

It contains 4 fields

distribution

A character with the name of the distribution implemented

seed

A numerical that is used for details to produce reproducible details of the distribution

oval

Observed value. Is the value expected. It is used as a number for the mathematical operations of the distributions as if they were a simple scalar

rfunc

A function that generate random numbers from the distribution. Its only parameter n is the number of draws of the distribution. It returns a matrix with as many rows as n, and as many columns as the dimensions of the distributions

The DISTRIBUTION objects could support multidimensional distributions for example DIRICHLET. The names of the dimensions should coincides with the names of the oval vector. If only one dimension, the default name is rvar.

It is expected that the rfunc is included in the creation of new distributions by convolution so the environment should be carefully controlled to avoid reference leaking that is possible within the R language. For that reason, rfunc should be created within a restrict_environment function

Once the object is instanced, the fields are immutable and should not be changed. If the seed needs to be modified, a new object can be created using the set_seed function

Objects are defined for the following distributions

Author

John J. Aponte