【问题标题】:Side by side Xtables in RmarkdownRmarkdown 中的并排 Xtables
【发布时间】:2014-07-18 13:33:50
【问题描述】:

我已经看到了在 RMarkdown-HTML 中并排创建 xtables 的答案 knitr, R Markdown, and xtable: xtable tables within HTML table

以及如何在 Sweave 中直接创建并排的 xtables R: Print two tables with xtable ()

但是 Rmarkdown/Pandoc 中的并排 xtables 怎么样?

在我的 *Rmd 文件中

```{r , results='asis', message=FALSE, echo=FALSE}
female.bmi <- lm(bmi ~ AGEGROUP + RACE + GEO_SPA + FPL_FIN + as.factor(year),
              data=lach[lach$GENDER=='Female',] )
xtable(female.bmi, comment=FALSE, caption = 'Linear regression of BMI for females')
male.bmi <- lm(bmi ~ AGEGROUP + RACE + GEO_SPA + FPL_FIN + as.factor(year),
            data=lach[lach$GENDER=='Male',] )
xtable(male.bmi, comment=FALSE, caption = 'Linear regression of BMI for males')
```

然后我编译如下:

knit('Modeling/simple.rmd', 'Modeling/simple.md') # creates md file
pandoc('Modeling/simple.md', format='latex') # LaTeX/PDF

这些显示为单独的表格 - 很好!但是我怎样才能让它们并排显示子图/子表?我试图在 {r}print(xtable) 代码周围集成 Latex 子图代码,但无济于事。

【问题讨论】:

  • 找不到对象“lach”老兄:P
  • 抱歉,我知道我没有提供有效的示例。

标签: r latex markdown knitr


【解决方案1】:

好的,使用 R markdown 很容易生成它。以下是我的代码和结果:

我结合了您链接到的示例:

这是.Rmd文件的代码:

---
title: " 2 tables in markdown side by side"
author: "Marcin Kosiński"
date: "2014"
output: 
   pdf_document:
      includes:
         in_header: header2.tex
      highlight: pygments
      toc: true
      toc_depth: 3
      number_sections: true
---

```{r,echo=FALSE}
library(knitr)
opts_chunk$set(comment="", message=FALSE,tidy.opts=list(keep.blank.line=TRUE, width.cutoff=120),options(width=100), cache=TRUE,fig.align='center',fig.height=6, fig.width=10,fig.path='figure/beamer-',fig.show='hold',size='footnotesize', cache=TRUE)
```

```{r}
library(xtable)
data(tli)
attach(tli)
x <- tli
fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=x)
print(xtable(fm1), file="ta.tex", floating=FALSE)
print(xtable(head(tli, n=5)), file="tb.tex", floating=FALSE)
```

\begin{table}[ht]
\centering
\subfloat[Table x(a)]{\label{tab:tab1a}\scalebox{.5}{\input{./ta}}}\quad
\subfloat[Table x(b)]{\label{tab:tab1b}\scalebox{.5}{\input{./tb}}}
\caption{Caption about here}
\label{tab:tab1}
\end{table}

这是header2.tex文件的代码,需要与.Rmd文件位于同一文件夹中:

\usepackage{subfig}
\usepackage{graphicx}

【讨论】:

  • 哇很有趣。我从你的回复中学到了很多东西。我还不知道它是否真的有效(特别是因为我认为我已经转换为 Rstudio 而不是 *rmd +pandoc)--但是--无论如何都非常有用的帖子。感谢您的详细回复。
  • 谢谢 - 这非常有用!我确实想指出您在选项行中有两次cache = TRUE。我删除了一个,但我无法弄清楚为什么事情没有更新! :D
  • 这在 HTML 中不起作用。任何建议如何在 HTML 中实现相同的结果?
  • 是的,因为 xtables 用于 Latex/pdf 输出 :) 如果您创建一个单独的问题并在此处发布指向它的链接,那么我会尽力帮助您。
  • xtable 也用于 html 输出,但是是的,完全独立的答案。
猜你喜欢
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 1970-01-01
相关资源
最近更新 更多