This vignette introduces nice and easy way to display grouped data
frame created by dplyr::group_by.
grouped_iris <- iris %>%
  group_by(Species) %>%
  slice(1, 2)
grouped_mtcars <- mtcars %>%
  mutate(model = rownames(mtcars)) %>%
  head() %>%
  select(model, cyl, mpg, disp, am) %>%
  group_by(am, cyl)| Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | 
|---|---|---|---|
| Species: setosa | |||
| 5.1 | 3.5 | 1.4 | 0.2 | 
| 4.9 | 3.0 | 1.4 | 0.2 | 
| Species: versicolor | |||
| 7.0 | 3.2 | 4.7 | 1.4 | 
| 6.4 | 3.2 | 4.5 | 1.5 | 
| Species: virginica | |||
| 6.3 | 3.3 | 6.0 | 2.5 | 
| 5.8 | 2.7 | 5.1 | 1.9 | 
| Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | 
|---|---|---|---|
| setosa | |||
| 5.1 | 3.5 | 1.4 | 0.2 | 
| 4.9 | 3.0 | 1.4 | 0.2 | 
| versicolor | |||
| 7.0 | 3.2 | 4.7 | 1.4 | 
| 6.4 | 3.2 | 4.5 | 1.5 | 
| virginica | |||
| 6.3 | 3.3 | 6.0 | 2.5 | 
| 5.8 | 2.7 | 5.1 | 1.9 | 
By specifying as_flextable(groups_to = 'merged'),
grouping variables are merged vertically. In this case, the default
theme is changed to flextable::theme_vanilla because the
booktab theme is not intuitive.
grouped_iris %>%
  as_flextable(groups_to = "merged")
#> Warning: ftExtra:::as_flextable.data.frame is deprecated and will be removed in
#> the future release. Consider using flextalbe's implementation by running
#> `.S3method("as_flextable", "data.frame", flextable:::as_flextable.data.frame)`| Species | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | 
|---|---|---|---|---|
| setosa | 5.1 | 3.5 | 1.4 | 0.2 | 
| 4.9 | 3.0 | 1.4 | 0.2 | |
| versicolor | 7.0 | 3.2 | 4.7 | 1.4 | 
| 6.4 | 3.2 | 4.5 | 1.5 | |
| virginica | 6.3 | 3.3 | 6.0 | 2.5 | 
| 5.8 | 2.7 | 5.1 | 1.9 | 
grouped_mtcars %>%
  as_flextable(groups_to = "merged", groups_arrange = TRUE)
#> Warning: ftExtra:::as_flextable.data.frame is deprecated and will be removed in
#> the future release. Consider using flextalbe's implementation by running
#> `.S3method("as_flextable", "data.frame", flextable:::as_flextable.data.frame)`| am | cyl | model | mpg | disp | 
|---|---|---|---|---|
| 0 | 6 | Hornet 4 Drive | 21.4 | 258 | 
| Valiant | 18.1 | 225 | ||
| 8 | Hornet Sportabout | 18.7 | 360 | |
| 1 | 4 | Datsun 710 | 22.8 | 108 | 
| 6 | Mazda RX4 | 21.0 | 160 | |
| Mazda RX4 Wag | 21.0 | 160 | 
grouped_mtcars %>%
  as_flextable(groups_to = "merged", groups_arrange = FALSE)
#> Warning: ftExtra:::as_flextable.data.frame is deprecated and will be removed in
#> the future release. Consider using flextalbe's implementation by running
#> `.S3method("as_flextable", "data.frame", flextable:::as_flextable.data.frame)`| am | cyl | model | mpg | disp | 
|---|---|---|---|---|
| 1 | 6 | Mazda RX4 | 21.0 | 160 | 
| Mazda RX4 Wag | 21.0 | 160 | ||
| 4 | Datsun 710 | 22.8 | 108 | |
| 0 | 6 | Hornet 4 Drive | 21.4 | 258 | 
| 8 | Hornet Sportabout | 18.7 | 360 | |
| 6 | Valiant | 18.1 | 225 | 
Grouping variables are moved to left by default. If you want to keep
their positions, specify group_pos = 'asis'.
grouped_mtcars %>%
  as_flextable(groups_to = "merged", groups_pos = "asis") %>%
  flextable::theme_vanilla()
#> Warning: ftExtra:::as_flextable.data.frame is deprecated and will be removed in
#> the future release. Consider using flextalbe's implementation by running
#> `.S3method("as_flextable", "data.frame", flextable:::as_flextable.data.frame)`| model | cyl | mpg | disp | am | 
|---|---|---|---|---|
| Mazda RX4 | 6 | 21.0 | 160 | 1 | 
| Mazda RX4 Wag | 21.0 | 160 | ||
| Datsun 710 | 4 | 22.8 | 108 | |
| Hornet 4 Drive | 6 | 21.4 | 258 | 0 | 
| Hornet Sportabout | 8 | 18.7 | 360 | |
| Valiant | 6 | 18.1 | 225 |