如何从Knitr / R RStudio将回归结果表输出到Word? (mtable,memisc)

时间:2017-12-28 01:19:19

标签: r knitr

我想将回归结果表从knitr输出到Word,但我遇到了麻烦。将 mtable 输出到\ LaTeX是有效的,如果我调整选项,但是当涉及到Word时我会被卡住。我的MWE在下面。

---
output:
  word_document: default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(memisc)
```

## This section contains ugly text, not a table
```{r eval = T, include = T, echo = F}
lm0 <- lm(sr ~ pop15 + pop75,              data = LifeCycleSavings)
lm1 <- lm(sr ~                 dpi + ddpi, data = LifeCycleSavings)
lm2 <- lm(sr ~ pop15 + pop75 + dpi + ddpi, data = LifeCycleSavings)

mt01 <- mtable(lm0,lm1,summary.stats=c("R-squared","N"))
mt12 <- mtable(lm1,lm2,summary.stats=c("R-squared","F","N"))

c("Group 1"=mt01,
"Group 2"=mt12)
```

1 个答案:

答案 0 :(得分:0)

我设计了一个有效的丑陋黑客。我希望它可以帮助我的位置上的其他人。我很确定存在一种明显而简单的方法来实现这一点。

---
output:
  word_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(memisc)
```

## This section contains a table, not ugly text
```{r eval = T, include = T, echo = F}
lm0 <- lm(sr ~ pop15 + pop75,              data = LifeCycleSavings)
lm1 <- lm(sr ~                 dpi + ddpi, data = LifeCycleSavings)
lm2 <- lm(sr ~ pop15 + pop75 + dpi + ddpi, data = LifeCycleSavings)

mt01 <- mtable(lm0,lm1,summary.stats=c("R-squared","N"))
mt12 <- mtable(lm1,lm2,summary.stats=c("R-squared","F","N"))

x = c("Group 1"=mt01,"Group 2"=mt12)

x = memisc::mtable_format_delim(x)
writeLines(x,"table.csv")
x = read.delim("table.csv", header = F, stringsAsFactors = F)
colnames(x) = x[1,]
x = x[-1,]
rownames(x) = NULL
knitr::kable(x)
```