simcausal (version 0.5.0)

rcategor: Categorical Node Distribution (Factor)

Description

Matrix version of the categorical distribution. The argument probs can be a matrix of n rows, specifying individual (varying in sample) categorical probabilities. The number of categories generated is equal to ncol(probs)+1, the categories are labeled as: 1,...,ncol(probs)+1.

Usage

rcategor(n, probs)

Arguments

n
Sample size.
probs
Either a vector or a matrix of success probabilities. When probs is a vector, n identically distributed random categorical variables are generated with categories: 1, 2, ..., length(probs)+1. When probs is a matrix,

Value

  • A factor of length n with levels: 1,2, ...,ncol(probs)+1.

Examples

Run this code
#---------------------------------------------------------------------------------------
# Specifying and simulating from a DAG with one categorical node with constant
# probabilities
#---------------------------------------------------------------------------------------
D <- DAG.empty()
D <- D + node("race",t=0,distr="rcategor",probs=c(0.2,0.1,0.4,0.15,0.05,0.1))
Dset <- set.DAG(D)
simdat <- simobs(Dset, n=200, rndseed=1)

#---------------------------------------------------------------------------------------
# Specifying and simulating from a DAG with a categorical node with varying
# probabilities (probabilities are determined by values sampled for nodes L0 and L1)
#---------------------------------------------------------------------------------------
D <- DAG.empty()
D <- D + node("L0", distr="rnorm", mean=10, sd=5)
D <- D + node("L1", distr="rnorm", mean=10, sd=5)
D <- D + node("L2", distr="rcategor", probs=c(abs(1/L0), abs(1/L1)))
Dset <- set.DAG(D)
simdat <- simobs(Dset, n=200, rndseed=1)

Run the code above in your browser using DataLab