我正在使用 Rmarkdown 创建一个包含表格的 PDF 并使用kableExtra::collapse_rows. 当我的非折叠列具有重复值时,我在编织时遇到错误。
---
output:
pdf_document:
latex_engine: xelatex
---
```{r}
library(magrittr)
library(knitr)
library(kableExtra)
# Build data with repeated values in last column
dat1 <- data.frame(x = c(rep("First",times=4),rep("Second",times=3)),
y = c(rep(4,times=4),rep(3,times=3)),
z = c("det1","det2","det2","det3","det4","det5","det5"),
stringsAsFactors=FALSE)
# This works fine:
dat1 %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
# Throws an error when I try to collapse rows of first two columns:
dat1 %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE) %>%
collapse_rows(columns = 1:2)
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
!额外对齐选项卡已更改为 \cr。
<recently read> …
我已经在源 Rmd 文件中运行了分析,并且希望仅使用源中的几个块从最终 Rmd 文件编织一个干净的版本。我已经在另一个 Rmd 中的 Rmd 文件的源代码中看到了一些关于从源 Rmd 中提取所有块的答案,以及如何获取 R Markdown 文件(如“source('myfile.r')”)?。我对这些帖子有同样的担忧,因为我不想移植一个单独的 .R 文件,这似乎是唯一read_chunk可行的方法。
我想我现在可以导入源 Rmd,但现在我不确定如何在最终的 Rmd 中调用它的特定块。这是一个可重现的示例:
源代码.Rmd
---
title: "Source Code"
output:
pdf_document:
latex_engine: xelatex
---
```{r}
# Load libraries
library(knitr) # Create tables
library(kableExtra) # Table formatting
# Create a dataframe
df <- data.frame(x = 1:10,
y = 11:20,
z = 21:30)
```
Run Code Online (Sandbox Code Playgroud)
一些解释性文字
```{r table1}
# Potentially big block of stuff I don't want to have …Run Code Online (Sandbox Code Playgroud)