Learn R Programming

mc2d (version 0.2.0)

mcprobtree: Creates a Stochastic mcnode Object using a Probability Tree

Description

This function builds an mcnode as a mixture mcnode objects.

Usage

mcprobtree(mcswitch, mcvalues, type=c("V", "U", "VU", "0"), nsv=ndvar(),
	  nsu=ndunc(), nvariates=1, outm="each", seed=NULL)

Value

An mcnode object.

Arguments

mcswitch

A vector of probabilities/weights or an mcnode.

mcvalues

A named list of mcnodes, mcdata functions or mcstoc functions, or a combination of those objects. Each element should be or lead to a compatible mcnode (see Details).

type

The type of mcnode to be built. By default, a "V" node. see mcnode for details.

nsv

The number of simulations in the variability dimension of the final node.

nsu

The number of simulations in the uncertainty dimension of the final node.

nvariates

The number of variates of the final mcnode.

outm

The default output of the mcnode for multivariates nodes. see outm.

seed

The random seed used for the evaluation. If NULL the seed is unchanged.

Details

mcswitch may be either:

  • a vector of weights. They need not sum to one, but they should be nonnegative and not all zero. The length of this vector should equal the number of elements in the list mcvalues. Each elements of mcvalues will appear in the final sample a random number of times with probability as specified by this vector.

  • a "0 mcnode" to build any type of node.

  • a "V mcnode" to build a "V mcnode" or a "VU mcnode".

  • a "U mcnode" to build a "U mcnode" or a "VU mcnode".

  • a "VU mcnode" to build a "VU mcnode".

Each elements of mcvalues may be either:

  • a "0 mcnode" to build any type of node.

  • a "V mcnode" to build a "V mcnode" or a "VU mcnode".

  • a "U mcnode" to build a "U mcnode" or a "VU mcnode".

  • a "VU mcnode" to build a "VU mcnode".

Their name should correspond to the values in mcswitch, specified as character (See Examples). These elements will be evaluated only if needed : if the corresponding value is not present in mcswitch, the element will not be evaluated.

See Also

mcdata, mcstoc, switch.

Examples

Run this code
## A mixture of normal (prob=0.75), uniform (prob=0.20) and constant (prob=0.05)
conc1 <- mcstoc(rnorm, type="VU", mean=10, sd=2)
conc2 <- mcstoc(runif, type="VU", min=-6, max=-5)
conc3 <- mcdata(0, type="VU")

## Randomly in the cells 
whichdist <- mcstoc(rempiricalD, type="VU", values=1:3, prob= c(.75, .20, .05)) 
mcprobtree(whichdist, list("1"=conc1, "2"=conc2, "3"=conc3), type="VU")
## Which is equivalent to 
mcprobtree(c(.75, .20, .05), list("1"=conc1, "2"=conc2, "3"=conc3), type="VU")
## Not that there is no control on the exact number of occurences.

## Randomly by colums (Uncertainty) 
whichdist <- mcstoc(rempiricalD, type="U", values=1:3, prob= c(.75, .20, .05)) 
mcprobtree(whichdist, list("1"=conc1, "2"=conc2, "3"=conc3), type="VU")

## Randomly by line (Variability) 
whichdist <- mcstoc(rempiricalD, type="V", values=1:3, prob= c(.75, .20, .05)) 
mcprobtree(whichdist, list("1"=conc1, "2"=conc2, "3"=conc3), type="VU")

## The elements of mcvalues may be of various (but compatible) type
conc1 <- mcstoc(rnorm, type="V", mean=10, sd=2)
conc2 <- mcstoc(runif, type="U", min=-6, max=-5)
conc3 <- mcdata(0, type="0")
whichdist <- mcstoc(rempiricalD, type="VU", values=1:3, prob= c(.75, .20, .05))
mcprobtree(whichdist, list("1"=conc1, "2"=conc2, "3"=conc3), type="VU")


Run the code above in your browser using DataLab