在Rmarkdown中使用itsadug :: gamtabs:表格无法正确显示

时间:2019-07-17 23:06:50

标签: r latex r-markdown gam

我想在用Rmarkdown生成的HTML文档中包含gam的输出。

我应该可以使用itsadug :: gamtabs这样做。

我有这个样本,我将其保存到名为test.Rmd的文件中。

    ---
title: "gamtabs test"
author: "me"
date: "today"
output: html_document
---

```{r table1, echo=FALSE}
library(itsadug)

data(simdat)
# }
# NOT RUN {
# Model with random effect and interactions:
m1 <- bam(Y ~ Group+te(Time, Trial, by=Group),
          data=simdat)
summary(m1)
(gamtabs(m1, caption='Summary of m1'))
# }

````

我使用以下命令渲染该文件:

    rmarkdown::render('test.Rmd')

但是,我的输出是:

## % latex table generated in R 3.6.0 by xtable 1.8-4 package
## % Wed Jul 17 18:48:10 2019
## \begin{table}[ht]
## \centering
## \begin{tabular}{lrrrr}
##    \hline
## A. parametric coefficients & Estimate & Std. Error & t-value & p-value \\ 
##   (Intercept) & 2.0762 & 0.0315 & 65.8720 & $<$ 0.0001 \\ 
##   GroupAdults & 3.1787 & 0.0446 & 71.3133 & $<$ 0.0001 \\ 
##    \hline
## B. smooth terms & edf & Ref.df & F-value & p-value \\ 
##   te(Time,Trial):GroupChildren & 8.9618 & 9.0008 & 3288.6381 & $<$ 0.0001 \\ 
##   te(Time,Trial):GroupAdults & 8.9871 & 9.0031 & 5860.7126 & $<$ 0.0001 \\ 
##    \hline
## \end{tabular}
## \caption{Summary of m1} 
## \label{tab.gam}
## \end{table}

这不是我想要的。我尝试使用kable,但得到类似的可怕结果。

我知道有一个简单的解决方案,但我找不到。

1 个答案:

答案 0 :(得分:0)

您需要更改两件事:

  1. 如果要输出HTML,则必须将其告知gamtabs / xtable,即使用type = "HTML"
  2. 由于gamtabs / xtable会生成原始HTML(或LaTeX),因此您需要块选项result = "asis"。将它与仅生成表的块一起使用是有意义的。

示例:

---
title: "gamtabs test"
author: "me"
date: "today"
output: html_document
---

```{r model1}
library(itsadug)

data(simdat)
m1 <- bam(Y ~ Group+te(Time, Trial, by=Group),  data=simdat)
summary(m1)
```

table:

```{r table1, echo=FALSE, results="asis"}
gamtabs(m1, caption='Summary of m1', type = "HTML")
```