Вы можете делать более красивые вещи с помощью htmlTable
(например, в Табличная сгруппированная таблица в R для уценки ), но вот быстрое и грязное решение, которое может быть достаточно в R Markdown, используя format_html
из memisc
упаковка:
```{r test, echo=FALSE, message=FALSE, warning=FALSE, results='asis'}
library(tidyverse)
library(memisc)
library(knitr)
tabledata <- structure(list(gender = c("male", NA, NA, "male", "female", "male",
"female", NA, "male", "male", "male", "male", "male", "male",
"male", "male", "male", "male", "none", "male", "male", "female",
"male", "male", "male", "female", "male", "male", "male", "male",
"female", "male", "female", "female", "female", "male", "male",
"male", "female", "male", "male", "male", "female", "male", "none",
"female"), homeworld = c("Tatooine", "Tatooine", "Naboo", "Tatooine",
"Alderaan", "Tatooine", "Tatooine", "Tatooine", "Tatooine", "Stewjon",
"Tatooine", "Eriadu", "Kashyyyk", "Corellia", "Corellia", "Bestine IV",
"Naboo", "Kamino", NA, "Socorro", "Bespin", "Chandrila", NA,
NA, "Coruscant", "Tatooine", "Dathomir", "Haruun Kal", "Iridonia",
"Naboo", "Naboo", "Tatooine", "Mirial", "Mirial", "Naboo", "Serenno",
"Alderaan", "Concord Dawn", "Coruscant", "Kashyyyk", "Alderaan",
NA, NA, NA, NA, "Naboo"), species = c("Human", "Droid", "Droid",
"Human", "Human", "Human", "Human", "Droid", "Human", "Human",
"Human", "Human", "Wookiee", "Human", "Human", "Human", "Human",
"Human", "Droid", "Human", "Human", "Human", "Human", "Human",
"Human", "Human", "Zabrak", "Human", "Zabrak", "Human", "Human",
"Human", "Mirialan", "Mirialan", "Human", "Human", "Human", "Human",
"Human", "Wookiee", "Human", "Human", "Human", "Human", "Droid",
"Human")), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-46L))
table1 = ftable(tabledata,col.vars=c(3,1))
knitr::asis_output(htmltools::htmlPreserve(
format_html(table1,
show.titles=TRUE,
digits=0,
format="f",
toprule=2,midrule=1,bottomrule=2,
split.dec=TRUE,
style = ftable_format_stdstyle,
margin="2ex auto",
varontop,varinfront)
))
```
Это выглядит так: