如何使用一些最小格式将数据框导出到乳胶?
how to export a dataframe to latex with some minimal formatting?
考虑这个简单的例子
library(dplyr)
dataframe <- data_frame(mytext1 = c('HELLO',
'WORLD'),
mytext2 = c('HELLO',
'AGAIN'),
value1 = c(1,2),
value2 = c(1,2))
# A tibble: 2 x 4
mytext1 mytext2 value1 value2
<chr> <chr> <dbl> <dbl>
1 HELLO HELLO 1 1
2 WORLD AGAIN 2 2
我想将此数据框导出到乳胶 table,但要进行一些小的(但很重要的)调整。
特别是,我想在 Latex 输出中添加 一个分隔文本变量的超级列 和另一个分隔数字变量的超级列。也就是说,本图像中 mat
和 com
的精神:
我尝试了 R 包 xtable
和 tables
但我无法达到接近的效果(可能是因为它们创建了汇总统计信息 tables)。我在这里遗漏了什么吗?
谢谢!
您可以使用 knitr
包中的 kable
加上 kableExtra
包来执行此操作:
```{r table, results='asis'}
library(knitr)
library(kableExtra)
library(magrittr)
dataframe <- data.frame(mytext1 = c('HELLO',
'WORLD'),
mytext2 = c('HELLO',
'AGAIN'),
value1 = c(1,2),
value2 = c(1,2))
dataframe %>%
kable(format = 'latex', booktabs = TRUE) %>%
add_header_above(header = c("Text" = 2, "Values" = 2))
```
这里我展示了包含在 RMarkdown 块中的代码,其中 table 在编织成 PDF 时自动包含,但代码也应该在 RMarkdown 之外独立运行。
运行 代码本身你得到 table 的 Latex 代码作为输出:
\begin{tabular}{llrr}
\toprule
\multicolumn{2}{c}{Text} & \multicolumn{2}{c}{Values} \
\cmidrule(l{2pt}r{2pt}){1-2} \cmidrule(l{2pt}r{2pt}){3-4}
mytext1 & mytext2 & value1 & value2\
\midrule
HELLO & HELLO & 1 & 1\
WORLD & AGAIN & 2 & 2\
\bottomrule
\end{tabular}
考虑这个简单的例子
library(dplyr)
dataframe <- data_frame(mytext1 = c('HELLO',
'WORLD'),
mytext2 = c('HELLO',
'AGAIN'),
value1 = c(1,2),
value2 = c(1,2))
# A tibble: 2 x 4
mytext1 mytext2 value1 value2
<chr> <chr> <dbl> <dbl>
1 HELLO HELLO 1 1
2 WORLD AGAIN 2 2
我想将此数据框导出到乳胶 table,但要进行一些小的(但很重要的)调整。
特别是,我想在 Latex 输出中添加 一个分隔文本变量的超级列 和另一个分隔数字变量的超级列。也就是说,本图像中 mat
和 com
的精神:
我尝试了 R 包 xtable
和 tables
但我无法达到接近的效果(可能是因为它们创建了汇总统计信息 tables)。我在这里遗漏了什么吗?
谢谢!
您可以使用 knitr
包中的 kable
加上 kableExtra
包来执行此操作:
```{r table, results='asis'}
library(knitr)
library(kableExtra)
library(magrittr)
dataframe <- data.frame(mytext1 = c('HELLO',
'WORLD'),
mytext2 = c('HELLO',
'AGAIN'),
value1 = c(1,2),
value2 = c(1,2))
dataframe %>%
kable(format = 'latex', booktabs = TRUE) %>%
add_header_above(header = c("Text" = 2, "Values" = 2))
```
这里我展示了包含在 RMarkdown 块中的代码,其中 table 在编织成 PDF 时自动包含,但代码也应该在 RMarkdown 之外独立运行。
运行 代码本身你得到 table 的 Latex 代码作为输出:
\begin{tabular}{llrr}
\toprule
\multicolumn{2}{c}{Text} & \multicolumn{2}{c}{Values} \
\cmidrule(l{2pt}r{2pt}){1-2} \cmidrule(l{2pt}r{2pt}){3-4}
mytext1 & mytext2 & value1 & value2\
\midrule
HELLO & HELLO & 1 & 1\
WORLD & AGAIN & 2 & 2\
\bottomrule
\end{tabular}