sam*_*erk 14 r pandoc knitr r-markdown
R Markdown的新版本基于pandoc,因此您可以轻松更改输出格式.
我的问题是从回归模型中获取markdown格式表,因为LATEX和HTML表不能在pandoc转换中存活.
我知道从各种模型(stargazer,texreg,asprtable ......)生成LATEX/HTML输出的包,我知道函数/包,它们从数据框和矩阵生成降价表,但不从其他对象生成.
有什么建议?
dar*_*zig 13
我上面的评论更详细:
为可重现的示例定义一些模型:
lm0 <- lm(hp ~ wt, mtcars)
lm1 <- lm(qsec ~ hp, mtcars)
lm2 <- lm(qsec ~ wt, mtcars)
Run Code Online (Sandbox Code Playgroud)从这些创建比较表:
require(memisc)
mtable123 <- mtable('Model 1' = lm0,
'Model 2' = lm1,
'Model 3' = lm2,
summary.stats = c('R-squared','F','p','N'))
Run Code Online (Sandbox Code Playgroud)通过简单的调用渲染降价表pander:
pander(mtable123)
Run Code Online (Sandbox Code Playgroud)享受结果:
--------------------------------------------------
Model 1 Model 2 Model 3
----------------- ---------- ---------- ----------
**(Intercept)** -1.821\ 20.556***\ 18.875***\
(32.325) (0.542) (1.103)
**wt** 46.160***\ \ -0.319\
(9.625) (0.328)
**hp** \ -0.018***\ \
(0.003)
**R-squared** 0.434 0.502 0.031
**F** 22.999 30.190 0.945
**p** 0.000 0.000 0.339
**N** 32 32 32
--------------------------------------------------
Run Code Online (Sandbox Code Playgroud)感谢Roman Tsegelskyi在GSoC 2014中实现了这个不错的功能.
只需生成HTML或LATEX表。您所要做的就是将results ='asis'添加到代码块中。它将使输出保持原样。
例如,使用xtable的这段代码对我有用。
```{r,results='asis'}
x<-rnorm(100)
y<-rnorm(100)
lm <- lm(y~x)
library(xtable)
print(xtable(summary(lm)),type='html')
```
Run Code Online (Sandbox Code Playgroud)
这是我几个小时前所做的:
一些数据:
```{r}
lm1 <- lm(qsec ~ hp, mtcars)
lm2 <- lm(qsec ~ wt, mtcars)
```
Run Code Online (Sandbox Code Playgroud)我们使用包sjPlot
```{r}
library(sjPlot)
tab_model(lm1,lm2, file="output.html")# You have to save the table in html format.
```
Run Code Online (Sandbox Code Playgroud)
下一部分需要位于 markdown 中的块之外:
htmltools::includeHTML(“输出.html”)