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 in .Deprecated("flextable:::as_flextable.data.frame", msg =
#> paste("ftExtra:::as_flextable.data.frame is deprecated", :
#> 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 in .Deprecated("flextable:::as_flextable.data.frame", msg =
#> paste("ftExtra:::as_flextable.data.frame is deprecated", :
#> 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 in .Deprecated("flextable:::as_flextable.data.frame", msg =
#> paste("ftExtra:::as_flextable.data.frame is deprecated", :
#> 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 in .Deprecated("flextable:::as_flextable.data.frame", msg =
#> paste("ftExtra:::as_flextable.data.frame is deprecated", :
#> 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 |