library(simDAG)
set.seed(42)
#### two classes, one parent node ####
# define conditional probs
probs <- list(male=0.5, female=0.8)
# define DAG
dag <- empty_dag() +
node("sex", type="rcategorical", labels=c("male", "female"),
output="factor", probs=c(0.5, 0.5)) +
node("chemo", type="rbernoulli", p=0.5) +
node("A", type="conditional_prob", parents="sex", probs=probs)
# generate data
data <- sim_from_dag(dag=dag, n_sim=1000)
#### three classes, one parent node ####
# define conditional probs
probs <- list(male=c(0.5, 0.2, 0.3), female=c(0.8, 0.1, 0.1))
# define DAG
dag <- empty_dag() +
node("sex", type="rcategorical", labels=c("male", "female"),
output="factor", probs=c(0.5, 0.5)) +
node("chemo", type="rbernoulli", p=0.5) +
node("A", type="conditional_prob", parents="sex", probs=probs)
# generate data
data <- sim_from_dag(dag=dag, n_sim=1000)
#### two classes, two parent nodes ####
# define conditional probs
probs <- list(male.FALSE=0.5,
male.TRUE=0.8,
female.FALSE=0.1,
female.TRUE=0.3)
# define DAG
dag <- empty_dag() +
node("sex", type="rcategorical", labels=c("male", "female"),
output="factor", probs=c(0.5, 0.5)) +
node("chemo", type="rbernoulli", p=0.5) +
node("A", type="conditional_prob", parents=c("sex", "chemo"), probs=probs)
# generate data
data <- sim_from_dag(dag=dag, n_sim=1000)
#### three classes, two parent nodes ####
# define conditional probs
probs <- list(male.FALSE=c(0.5, 0.1, 0.4),
male.TRUE=c(0.8, 0.1, 0.1),
female.FALSE=c(0.1, 0.7, 0.2),
female.TRUE=c(0.3, 0.4, 0.3))
# define dag
dag <- empty_dag() +
node("sex", type="rcategorical", labels=c("male", "female"),
output="factor", probs=c(0.5, 0.5)) +
node("chemo", type="rbernoulli", p=0.5) +
node("A", type="conditional_prob", parents=c("sex", "chemo"), probs=probs)
# generate data
data <- sim_from_dag(dag=dag, n_sim=1000)
Run the code above in your browser using DataLab