Code
library(dagitty)
library(ggdag)
library(ggplot2)
library(gridExtra)library(dagitty)
library(ggdag)
library(ggplot2)
library(gridExtra)dagified <- dagify(y ~ x + w,
w ~ x,
z ~ w + y,
t ~ y + z)
dagified <- tidy_dagitty(dagified)
ggdag(dagified) +
theme_dag()Como podemos ver pelo gráfico acima, “y” e “w” são pais de z.
De fato, quando a mesma pergunta é feita para o software, o resultado retornado é o mesmo exposto acima.
ggdag_parents(dagified, "z") +
theme_dag()Seguindo o mesmo raciocínio, “x”, “y” e “w” são ancestrais de “z”.
Os filhos de “w” são “y” e “z”.
Os descendentes de “w” são “y”, “z” e “t”
# Path 1
dagified <- dagitty("dag{x -> y -> t}")
dagified <- tidy_dagitty(dagified)
path1 <- ggdag(dagified)
# Path 2
dagified <- dagitty("dag{x -> w -> z -> t}")
dagified <- tidy_dagitty(dagified)
path2 <- ggdag(dagified)all_paths <- list("dag{x -> y -> t}",
"dag{x -> y -> z -> t}",
"dag{x -> w -> z -> t}",
"dag{x -> w -> y -> t}",
"dag{x -> w -> y -> z -> t}")
# Para cada caminho, transformamos em objeto (i) dagitty; (ii) tidy; (iii) ggplot
all_paths <- lapply(all_paths, function(x) ggdag(tidy_dagitty(dagitty(x))))
for (i in seq_along(all_paths)) {
all_paths[[i]] <- all_paths[[i]] +
ggtitle(paste("Path", i)) +
theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank())
}dagified <- dagify(x ~ z1 + z3,
w ~ x,
y ~ w + z2 + z3,
z3 ~ z1 + z2)
dagified <- tidy_dagitty(dagified)
ggdag(dagified) +
theme_dag(){z1, z2} - z3 é colisor {z1, w} - {x} e {z3, x} {z1, y} - {z3, x} e {z3, w} {z2, w} - {z3} e {x} {z2, x} - {z3} {z3, w} - {x} {x, y} - {w}
Essa lista nos mostra como que condicionar por uma variável pode alterar a distribuição dos dados. Por exemplo, em um modelo de regressão, teríamos que existe uma relação entre “x” e “y”. Entretanto, se adicionarmos “w” a essa regressão, a relação entre “x” e “y” deixaria de existir. Assim, essa lista de independências nos mostra como a relação entre variáveis pode ser alterada drasticamente após a inclusão ou retirada de uma outra variável.