Отчетность регрессионных таблиц с использованием rmarkdown в формате Word - PullRequest
0 голосов
/ 29 апреля 2018

Попытка сообщить о регрессионных таблицах в формате Word с помощью rmarkdown кажется невозможной. После нескольких часов работы и нескольких вариантов, таких как здесь , в моем случае никто не работал. Я хочу сообщить lm модели, используя уценку и отрисовать в файл .doc.

Метод 1:

Использование пакета memisc для создания mtable объекта и рендеринга с использованием pander:

> lm0 <- lm(hp ~ wt, mtcars)
> lm1 <- lm(qsec ~ hp, mtcars)
> lm2 <- lm(qsec ~ wt, mtcars)
> 
> library(memisc)
> 
> mt <- mtable(lm0, lm1, lm2)
> 
> pander::pander(mt)
Error in x[[i]] : subíndice fuera de  los límites
Además: Warning message:
In pander.default(mt) :
  No pander.method for "memisc_mtable", reverting to default.

Метод 2:

Создайте HTML-объект и включите, используя includeHTML. Пока что это закрытый метод для моего желания вывода. Однако таблица содержит только один столбец, подобный этому:

```{r}
stargazer::stargazer(lm0, lm1, lm2, type = "html", title = "Results", out = "./pp.html")
shiny::includeHTML("pp.html")
```

Код выше производит это в текстовом документе: enter image description here

Метод 3:

Использование xtable также приводит к тому же выводу выше.

Есть предложения?

1 Ответ

0 голосов
/ 29 апреля 2018

Использование write_html (из пакета memisc):

write.html(mt, "mt.html")

Теперь откройте файл mt.html в Word. Вот как это выглядит в Word. (продолжение после скриншота)

screenshot

Альтернативно используйте это для преобразования filePathIn (который является путем к созданному html-файлу) в filePathOut (который является путем к файлу docx, который будет создан из него). Это работает в Windows и даже в тех случаях, когда pandoc не работает, поскольку использует Word для перевода html в docx. (Если вы хотите файл doc, а не docx, замените «docx» на «doc» в определении filePathOut и замените 16 на 0 в строке SaveAs. См. wdSaveFormat Enumeration .)

library(RDCOMClient)

filePathIn <- file.path(getwd(), "mt.html")
filePathOut <- sub("html$", "docx", filePathIn)

w <- COMCreate("Word.Application")
doc <- w[["Documents"]]
od <- doc$Open(filePathIn)
od$SaveAs(filePathOut, 16)
w$Quit()
...