time_ordered_coords {ggdag} | R Documentation |
Create a time-ordered coordinate data frame
Description
time_ordered_coords()
is a helper function to create time-ordered DAGs.
Pass the results to the coords
argument of dagify()
. If .vars
if not
specified, these coordinates will be determined automatically. If you want to
be specific, you can also use a list or data frame. The default is to assume
you want variables to go from left to right in order by time. Variables are
spread along the y-axis using a simple algorithm to stack them. You can also
work along the y-axis by setting direction = "y"
.
Usage
time_ordered_coords(
.vars = NULL,
time_points = NULL,
direction = c("x", "y"),
auto_sort_direction = c("right", "left")
)
Arguments
.vars |
A list of character vectors, where each vector represents a single time period. Alternatively, a data frame where the first column is the variable name and the second column is the time period. |
time_points |
A vector of time points. Default is |
direction |
A character string indicating the axis along which the variables should be time-ordered. Either "x" or "y". Default is "x". |
auto_sort_direction |
If |
Value
A tibble with three columns: name
, x
, and y
.
See Also
dagify()
, coords2df()
, coords2list()
Examples
dagify(
d ~ c1 + c2 + c3,
c1 ~ b1 + b2,
c3 ~ a,
b1 ~ a,
coords = time_ordered_coords()
) %>% ggdag()
coords <- time_ordered_coords(list(
# time point 1
"a",
# time point 2
c("b1", "b2"),
# time point 3
c("c1", "c2", "c3"),
# time point 4
"d"
))
dagify(
d ~ c1 + c2 + c3,
c1 ~ b1 + b2,
c3 ~ a,
b1 ~ a,
coords = coords
) %>% ggdag()
# or use a data frame
x <- data.frame(
name = c("x1", "x2", "y", "z1", "z2", "z3", "a"),
time = c(1, 1, 2, 3, 3, 3, 4)
)
dagify(
z3 ~ y,
y ~ x1 + x2,
a ~ z1 + z2 + z3,
coords = time_ordered_coords(x)
) %>%
ggdag()