make_model | R Documentation |
make_model
uses dagitty syntax and functionality to
specify nodes and edges of a graph. Implied causal types are calculated
and default priors are provided under the assumption of no confounding.
Models can be updated with specification of a parameter matrix, P
, by
providing restrictions on causal types, and/or by providing informative
priors on parameters. The default setting for a causal model have flat
(uniform) priors and parameters putting equal weight on each parameter
within each parameter set. These can be adjust with set_priors
and set_parameters
make_model(statement, add_causal_types = TRUE, nodal_types = NULL)
statement |
A character. Statement describing causal relations using dagitty syntax. Only directed relations are permitted. For instance "X -> Y" or "X1 -> Y <- X2; X1 -> X2". |
add_causal_types |
Logical. Whether to create and attach causal
types to |
nodal_types |
List of nodal types associated with model nodes |
An object of class causal_model
.
An object of class "causal_model"
is a list containing at least the
following components:
statement |
A character vector of the statement that defines the model |
dag |
A |
nodes |
A named |
parents_df |
A |
nodal_types |
Optional: A named |
parameters_df |
A |
causal_types |
A |
summary.causal_model
provides summary method for
output objects of class causal_model
make_model(statement = "X -> Y")
modelXKY <- make_model("X -> K -> Y; X -> Y")
# Example where cyclicaly dag attempted
## Not run:
modelXKX <- make_model("X -> K -> X")
## End(Not run)
# Examples with confounding
model <- make_model("X->Y; X <-> Y")
model$P
model <- make_model("Y2 <- X -> Y1; X <-> Y1; X <-> Y2")
dim(model$P)
model$P
model <- make_model("X1 -> Y <- X2; X1 <-> Y; X2 <-> Y")
dim(model$P)
model$parameters_df
# A single node graph is also possible
model <- make_model("X")
# Unconnected nodes not allowed
## Not run:
model <- make_model("X <-> Y")
## End(Not run)
nodal_types <-
list(
A = c("0","1"),
B = c("0","1"),
C = c("0","1"),
D = c("0","1"),
E = c("0","1"),
Y = c(
"00000000000000000000000000000000",
"01010101010101010101010101010101",
"00110011001100110011001100110011",
"00001111000011110000111100001111",
"00000000111111110000000011111111",
"00000000000000001111111111111111",
"11111111111111111111111111111111" ))
make_model("A -> Y; B ->Y; C->Y; D->Y; E->Y",
nodal_types = nodal_types)$parameters_df
nodal_types = list(Y = c("01", "10"), Z = c("0", "1"))
make_model("Z -> Y", nodal_types = nodal_types)$parameters_df
make_model("Z -> Y", nodal_types = FALSE)$parents_df
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.