如何更改 R 中 ggdag 图的节点颜色?

How do you change node colours for ggdag plots in R?

ggdag package 允许您在 R 中创建和绘制 DAG。这是一个例子:

#Load libraries
library(ggdag)
library(ggplot2)

#Create and print a DAG
DAG <- dagify(y ~ x, x ~ a, a ~ y)
ggdag(DAG)

我想调整此图以将某些节点(我选择的)着色为不同的颜色。例如,假设我想将节点 y 着色为红色。我该怎么做?

通过直接使用 {ggplot2} 绘图,您可以从 {ggdag} 中获得最大的灵活性。要为您的 y 节点涂上另一种颜色,请将新列添加到整洁的 DAG 并使用美学颜色绘制:

#Load libraries
library(ggdag)
library(ggplot2)

DAG <- dagify(y ~ x, x ~ a, a ~ y) %>% 
  tidy_dagitty() %>% 
  dplyr::mutate(colour = ifelse(name == "y", "Colour 1", "Colour 2"))

DAG %>%
  ggplot(aes(
    x = x,
    y = y,
    xend = xend,
    yend = yend
  )) +
  geom_dag_point(aes(colour = colour)) +
  geom_dag_edges() +
  geom_dag_text() +
  theme_dag()