将预生成的字符串与 kableExtra 的索引方法一起使用 group_rows
Using pre-generated character strings with index method for kableExtra group_rows
使用 Rmarkdown 生成 PDF。我引入了从先前函数生成的冗长文本字符串,用作 table 中的分组行标签。正常的 kableExtra::group_rows
方法工作正常。由于我在每个组中的行数相同,所以我想使用 index
方法,但这似乎不起作用:
---
output:
pdf_document:
latex_engine: xelatex
fig_caption: true
---
```{r}
library(magrittr)
library(knitr)
library(kableExtra)
# Build some data
df <- data.frame(x=1:12, y=13:24, z=25:36)
# Row grouping text gets generated from a separate function
gtext <- c("Group 1: text that I don't want to write out",
"Group 2: because it gets generated from something else",
"Group 3: so let's make life easy")
# This works fine:
df %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE) %>%
group_rows(gtext[1],1,4) %>%
group_rows(gtext[2],5,8) %>%
group_rows(gtext[3],9,12)
# But this doesn't:
df %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE) %>%
group_rows(index=c(gtext[1]=4,
gtext[2]=4,
gtext[3]=4))
```
编织时出现以下错误:"Error in parse(text = x, srcfile = src) : :23:30: unexpected '=' 22:"
在 40 多 table 秒的过程中,有些具有多达 10 行分组,很容易看出索引方法如何节省时间并防止错误。在此处添加功能(或我可能错过的解决方法)将是最棒的!
我可以使用
将此文档呈现为 html
group_rows(index=setNames(c(4, 4, 4), gtext))
问题似乎是您尝试为 index
参数创建命名向量的方式。如果你在控制台中尝试这个,你会得到一个错误:
c(gtext[1] = 4, gtext[2] = 4, gtext[3] = 4)
虽然这不是:
setNames(c(4, 4, 4), gtext)
#> Group 1: text that I don't want to write out
#> 4
#> Group 2: because it gets generated from something else
#> 4
#> Group 3: so let's make life easy
#> 4
使用 Rmarkdown 生成 PDF。我引入了从先前函数生成的冗长文本字符串,用作 table 中的分组行标签。正常的 kableExtra::group_rows
方法工作正常。由于我在每个组中的行数相同,所以我想使用 index
方法,但这似乎不起作用:
---
output:
pdf_document:
latex_engine: xelatex
fig_caption: true
---
```{r}
library(magrittr)
library(knitr)
library(kableExtra)
# Build some data
df <- data.frame(x=1:12, y=13:24, z=25:36)
# Row grouping text gets generated from a separate function
gtext <- c("Group 1: text that I don't want to write out",
"Group 2: because it gets generated from something else",
"Group 3: so let's make life easy")
# This works fine:
df %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE) %>%
group_rows(gtext[1],1,4) %>%
group_rows(gtext[2],5,8) %>%
group_rows(gtext[3],9,12)
# But this doesn't:
df %>%
kable(format="latex", booktabs = TRUE, row.names=FALSE) %>%
group_rows(index=c(gtext[1]=4,
gtext[2]=4,
gtext[3]=4))
```
编织时出现以下错误:"Error in parse(text = x, srcfile = src) : :23:30: unexpected '=' 22:"
在 40 多 table 秒的过程中,有些具有多达 10 行分组,很容易看出索引方法如何节省时间并防止错误。在此处添加功能(或我可能错过的解决方法)将是最棒的!
我可以使用
将此文档呈现为 htmlgroup_rows(index=setNames(c(4, 4, 4), gtext))
问题似乎是您尝试为 index
参数创建命名向量的方式。如果你在控制台中尝试这个,你会得到一个错误:
c(gtext[1] = 4, gtext[2] = 4, gtext[3] = 4)
虽然这不是:
setNames(c(4, 4, 4), gtext)
#> Group 1: text that I don't want to write out
#> 4
#> Group 2: because it gets generated from something else
#> 4
#> Group 3: so let's make life easy
#> 4