-
Notifications
You must be signed in to change notification settings - Fork 92
Expand file tree
/
Copy pathREADME.Rmd
More file actions
124 lines (93 loc) · 3.63 KB
/
README.Rmd
File metadata and controls
124 lines (93 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
---
title: "flextable R package"
output:
github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
[](https://github.com/davidgohel/flextable/actions)
[](https://CRAN.R-project.org/package=flextable)
[](https://app.codecov.io/gh/davidgohel/flextable)

```{r include=FALSE}
knitr::opts_chunk$set(
message = FALSE,
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
dev = "ragg_png",
dpi = 200
)
library(flextable)
library(gdtools)
font_set_liberation()
set_flextable_defaults(
font.size = 10,
background.color = "white",
border.color = "gray",
big.mark = "",
theme_fun = theme_booktabs,
font.family = "Liberation Sans"
)
```
The flextable package provides a framework for easily creating tables for
reporting and publications. Tables can be formatted with
a set of verbs such as `bold()`, `color()`, they can receive a
header of more than one line, cells can be merged or contain
an image. The package makes it possible to build any table for
publication from a `data.frame` and provides convenience function
`as_flextable()` to convert several R objects to a flextable,
such as an object returned from `table()` or a model.
Tables can be embedded within HTML, PDF, Word and PowerPoint documents
from R Markdown and Quarto documents and within RTF or Microsoft Word
or PowerPoint documents with package [officer](https://davidgohel.github.io/officer/).
Tables can also be exported as image files (png, svg) or combined with
ggplot2 plots in patchwork layouts.
```{r eval=FALSE}
flextable(mtcars) |>
theme_vanilla() |>
save_as_docx(path = "mytable.docx")
```
A `flextable` object is a data.frame representation. An API is available to let
R users create tables for reporting and control their formatting properties and
their layout. The package provides functions that give control over:
- header, body and footer content
- text, paragraphs, cells and border formatting of any element
- displayed values
The package also offers a set of high-level functions that allow tabular
reporting of statistical models and the creation of complex cross tabulations.
## Examples
```{r 'simple-example'}
library(flextable)
flextable(head(airquality))
```
Formatting can be layered on with a set of functions:
```{r 'mtcars-dataset', warning=FALSE}
flextable(head(mtcars)) |>
highlight(i = ~ mpg < 22, j = "disp", color = "#ffe842") |>
bg(
j = c("hp", "drat", "wt"),
bg = scales::col_quantile(palette = c("wheat", "red"), domain = NULL)
) |>
add_footer_lines("The 'mtcars' dataset")
```
```{r 'diamonds-dataset'}
ggplot2::diamonds[, c("cut", "carat", "price", "clarity", "table")] |>
summarizor(by = c("cut")) |>
as_flextable(spread_first_col = TRUE)
```
## Installation
```{r eval = FALSE}
install.packages("flextable")
```
You can get the development version from GitHub:
```{r eval = FALSE}
devtools::install_github("davidgohel/flextable")
```
## Resources
- [User guide](https://ardata-fr.github.io/flextable-book/)
- [Reference manual](https://davidgohel.github.io/flextable/reference/index.html)
- [Gallery of examples](https://ardata.fr/en/flextable-gallery/)
## Bug reports
When you file a [bug report](https://github.com/davidgohel/flextable/issues),
please spend some time making it easy for us to reproduce. If you
take the time to make the bug report consistent, it will be easier to fix.