constraints(
schema = schema(
conf_data = mtcars |> dplyr::mutate(vs = factor(vs)),
start_data = dplyr::select(mtcars, cyl)
),
constraints_df_num = tibble::tribble(
~var, ~min, ~max, ~conditions,
# ensure all mpg values are greater than 0
"mpg", 0, Inf, "TRUE",
# ensure when cyl == 6, mpg is less than 15
"mpg", -Inf, 15, "cyl == 6",
# ensure disp is always between 0 and 150
"disp", 0, 150, "TRUE"
),
constraints_df_cat = tibble::tribble(
~var, ~allowed, ~forbidden, ~conditions,
# ensure vs != 1 when gear >= 4
"vs", NA, 1, "gear >= 5",
# ensure vs == 1 when gear >= 4
"vs", 0, NA, "gear == 4"
)
)
Run the code above in your browser using DataLab