使用Word格式的rmarkdown报告回归表

时间:2018-04-29 12:27:39

标签: r r-markdown knitr

尝试使用rmarkdown以Word格式报告回归表似乎是不可能的。经过几个小时和几个选项,如here没有人在我的情况下工作。我想使用markdown报告fatal error: not a git repo: .git 模型并渲染到.doc文件。

方法1:

使用lm包创建memisc对象并使用mtable进行渲染:

pander

方法2:

创建一个html对象并使用> 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. 包含。到目前为止,这是我渴望输出的封闭方法。但是该表只包含一个这样的列:

includeHTML

上面的代码在word文档中生成: enter image description here

方法3:

使用```{r} stargazer::stargazer(lm0, lm1, lm2, type = "html", title = "Results", out = "./pp.html") shiny::includeHTML("pp.html") ``` 也会产生相同的输出。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

使用write_html(来自memisc包):

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

现在在Word中打开mt.html文件。这就是它在Word中的样子。 (截图后继续)

screenshot

或者使用它将filePathIn(这是创建的html文件的路径)转换为filePathOut(这是从中创建的docx文件的路径)。这适用于Windows,甚至在pandoc没有的情况下,因为它使用Word本身来执行从html到docx的转换。 (如果您需要doc文件而不是docx,则在filePathOut定义中将“docx”替换为“doc”,并在SaveAs行中将16替换为0.请参阅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()

答案 1 :(得分:0)

这是存储回归输出的一种简单方法:

sink("myresult.doc", append=T)

只要指定了以下内容,所有输出都会自动追加:append=T

HTH