i_diamonds = interfacer::iface( carat = numeric ~ "the carat column", cut = enum(`Fair`,`Good`,`Very Good`,`Premium`,`Ideal`, .ordered=TRUE) ~ "the cut column", color = enum(`D`,`E`,`F`,`G`,`H`,`I`,`J`, .ordered=TRUE) ~ "the color column", clarity = enum(`I1`,`SI2`,`SI1`,`VS2`,`VS1`,`VVS2`,`VVS1`,`IF`, .ordered=TRUE) ~ "the clarity column", depth = numeric ~ "the depth column", table = numeric ~ "the table column", price = integer ~ "the price column", x = numeric ~ "the x column", y = numeric ~ "the y column", z = numeric ~ "the z column", .groups = FALSE ) i_diamonds_data = interfacer::iface( carat = numeric ~ "the carat column", depth = numeric ~ "the depth column", table = numeric ~ "the table column", price = integer ~ "the price column", x = numeric ~ "the x column", y = numeric ~ "the y column", z = numeric ~ "the z column", .groups = FALSE ) i_diamonds_cat = interfacer::iface( id = unique_id ~ "unique id", cut = enum(`Fair`,`Good`,`Very Good`,`Premium`,`Ideal`, .ordered=TRUE) ~ "the cut column", color = enum(`D`,`E`,`F`,`G`,`H`,`I`,`J`, .ordered=TRUE) ~ "the color column", clarity = enum(`I1`,`SI2`,`SI1`,`VS2`,`VS1`,`VVS2`,`VVS1`,`IF`, .ordered=TRUE) ~ "the clarity column", data = list(i_diamonds_data) ~ "A nested data column must be specified as a list", .groups = FALSE ) nested_diamonds = ggplot2::diamonds %>% tidyr::nest(data = c(-cut,-color,-clarity)) %>% dplyr::mutate(id = dplyr::row_number()) i_iris = interfacer::iface( Sepal.Length = numeric ~ "the Sepal.Length column", Sepal.Width = numeric ~ "the Sepal.Width column", Petal.Length = numeric ~ "the Petal.Length column", Petal.Width = numeric ~ "the Petal.Width column", Species = enum(`setosa`,`versicolor`,`virginica`) ~ "the Species column", .groups = NULL, .default = iris )