---
output:
word_document: default
---
```{r setup, include=FALSE}
data("mtcars")
library(tidyverse)
library(xtable)
library(sjPlot)
library(kableExtra)
```
```{r, results='asis'}
df <- mtcars %>%
group_by(cyl) %>%
summarise(disp = mean(disp),
wt = mean(wt),
n = n()
)
kable(df)
# tab_df(df)
# xtable(df)
```
Я пробовал xtable, tab_df и kable создать текстовый документ с таблицей. При «привязке к HTML-документу» все таблицы выглядели нормально. При «привязке к Word» xtable не отображал таблицу, а tab_df и kable создавали таблицу только с одним столбцом:
kable(df)
cyl
disp
wt
n
4
105.1364
2.285727
Да, это тоже работает. Спасибо!
Вы можете связать HTML, а затем скопировать / вставить или напрямую открыть HTML-файл в Word, который также должен правильно отображать таблицы.





Я немного поэкспериментировал с flextable за последние несколько дней, и это может быть лучшим вариантом, когда вам нужно работать с Word:
---
output:
word_document: default
---
```{r setup, include=FALSE}
data("mtcars")
library(tidyverse)
library(flextable)
```
```{r, results='asis'}
mtcars %>%
group_by(cyl) %>%
summarise(disp = mean(disp),
wt = mean(wt),
n = n()
) %>%
flextable() %>%
align(part = "all") %>% # left align
set_caption(caption = "Table 1: Example") %>%
font(fontname = "Calibri (Body)", part = "all") %>%
fontsize(size = 10, part = "body") %>%
# add footer if you want
# add_footer_row(values = "* p < 0.05. ** p < 0.01. *** p < 0.001.",
# colwidths = 4) %>%
theme_booktabs() %>% # default theme
autofit()
```
Большое спасибо, это именно то, что мне нужно!
kableу меня работает, если я загружаю толькоtidyverseиknitr. Кажется, проблема вkableExtra. Смотрите это: github.com/haozhu233/kableExtra/issues/308.