distrEx (version 0.4-3)

E: Generic Function for the Computation of (Conditional) Expectations

Description

Generic function for the computation of (conditional) expectations.

Usage

E(object, fun, cond, ...)

## S3 method for class 'UnivariateDistribution,function,missing':
E(object, fun, cond, useApply = TRUE, ...)

## S3 method for class 'AbscontDistribution,function,missing':
E(object, fun, cond, useApply = TRUE, ...)

## S3 method for class 'DiscreteDistribution,function,missing':
E(object, fun, cond, useApply = TRUE, ...)

## S3 method for class 'MultivariateDistribution,function,missing':
E(object, fun, cond, useApply = TRUE, ...)

## S3 method for class 'DiscreteMVDistribution,function,missing':
E(object, fun, cond, useApply = TRUE, ...)

## S3 method for class 'AbscontCondDistribution,missing,numeric':
E(object, cond, useApply = TRUE)

## S3 method for class 'DiscreteCondDistribution,missing,numeric':
E(object, cond, useApply = TRUE)

## S3 method for class 'UnivariateCondDistribution,function,numeric':
E(object, fun, cond, withCond = FALSE, useApply = TRUE, ...)

## S3 method for class 'AbscontCondDistribution,function,numeric':
E(object, fun, cond, withCond = FALSE, useApply = TRUE, ...)

## S3 method for class 'DiscreteCondDistribution,function,numeric':
E(object, fun, cond, withCond = FALSE, useApply = TRUE, ...)

## S3 method for class 'DiscreteCondDistribution,function,numeric':
E(object, fun, cond, withCond = FALSE, useApply = TRUE, ...)

## S3 method for class 'Beta,missing,missing':
E(object, fun, cond)
## S3 method for class 'Binom,missing,missing':
E(object, fun, cond)
## S3 method for class 'Cauchy,missing,missing':
E(object, fun, cond)
## S3 method for class 'Chisq,missing,missing':
E(object, fun, cond)
## S3 method for class 'Dirac,missing,missing':
E(object, fun, cond)
## S3 method for class 'Exp,missing,missing':
E(object, fun, cond)
## S3 method for class 'Fd,missing,missing':
E(object, fun, cond)
## S3 method for class 'Gammad,missing,missing':
E(object, fun, cond)
## S3 method for class 'Geom,missing,missing':
E(object, fun, cond)
## S3 method for class 'Hyper,missing,missing':
E(object, fun, cond)
## S3 method for class 'Logis,missing,missing':
E(object, fun, cond)
## S3 method for class 'Lnorm,missing,missing':
E(object, fun, cond)
## S3 method for class 'Nbinom,missing,missing':
E(object, fun, cond)
## S3 method for class 'Norm,missing,missing':
E(object, fun, cond)
## S3 method for class 'Pois,missing,missing':
E(object, fun, cond)
## S3 method for class 'Unif,missing,missing':
E(object, fun, cond)
## S3 method for class 'Td,missing,missing':
E(object, fun, cond)
## S3 method for class 'Weibull,missing,missing':
E(object, fun, cond)

Arguments

object
object of class "Distribution"
fun
if missing the (conditional) expectation is computed else the (conditional) expection of fun is computed.
cond
if not missing the conditional expectation given cond is computed.
...
additional arguments to fun
useApply
logical: should sapply, respectively apply be used to evaluate fund.
withCond
logical: is cond in the argument list of fun.

Value

  • The (conditional) expectation is computed.

concept

  • expectation
  • conditional expectation
  • integration

Details

The precision of the computations can be controlled via certain global options; cf. distrExOptions.

See Also

distrExIntegrate, m1df, m2df, Distribution-class

Examples

Run this code
# mean of Exp(1) distribution
E <- Exp() 

E(E) ## uses explicit terms
E(as(E,"AbscontDistribution")) ## uses numerical integration
E(as(E,"UnivariateDistribution")) ## uses simulations
E(E, fun = function(x){2*x^2}) ## uses simulations

# the same operator for discrete distributions:
P <- Pois(lambda=2)

E(P) ## uses explicit terms
E(as(P,"DiscreteDistribution")) ## uses sums
E(as(P,"UnivariateDistribution")) ## uses simulations
E(P, fun = function(x){2*x^2}) ## uses simulations


# second moment of N(1,4)
E(Norm(mean=1, sd=2), fun = function(x){x^2})
E(Norm(mean=1, sd=2), fun = function(x){x^2}, useApply = FALSE)

# conditional distribution of a linear model
D1 <- LMCondDistribution(theta = 1) 
E(D1, cond = 1)
E(Norm(mean=1))
E(D1, function(x){x^2}, cond = 1)
E(Norm(mean=1), fun = function(x){x^2})
E(D1, function(x, cond){cond*x^2}, cond = 2, withCond = TRUE, useApply = FALSE)
E(Norm(mean=2), function(x){2*x^2})

Run the code above in your browser using DataCamp Workspace