The row_group() function

Create a tibble that has a row column (values from 1 to 6), a group column, and a vals column (containing the same values as in row).

tbl <-
  dplyr::tibble(
    row = 1:6,
    group = c(rep("Group A", 3), rep("Group B", 3)),
    vals = 1:6
  )

Create a gt table with a two-column stub (incorporating the row and group columns in that). We can set the widths of the two columns in the stub with the row_group() and stub() helpers on the LHS of the expressions passed to cols_width().

tbl |>
  gt(
    rowname_col = "row",
    groupname_col = "group",
    row_group_as_column = TRUE
  ) |>
  fmt_roman(columns = stub()) |>
  cols_width(
    row_group() ~ px(200),
    stub() ~ px(100),
    vals ~ px(50)
  )
vals
Group A I 1
II 2
III 3
Group B IV 4
V 5
VI 6