Добавьте символ «больше и равно» в латексную таблицу, используя kable и group_rows - PullRequest
0 голосов
/ 29 декабря 2018

В качестве заголовка я пытаюсь использовать функцию group_rows, чтобы привести в порядок свою таблицу, как показано ниже, я добавил символ <= в столбец 5 (т. Е. <=rowid), но символ не может быть отображен правильнокогда столбец используется для group_rows, кто-нибудь может помочь?Спасибо!

---
output: 
    pdf_document:
      keep_tex: true
    header-includes:
      - \usepackage{colortbl}
      - \usepackage{tikz}
papersize: a4


editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
library(dplyr)
library(knitr)
library(kableExtra)

knitr::opts_chunk$set(warning=FALSE, message=FALSE, echo=FALSE)
options(kableExtra.latex.load_packages = FALSE)
```

```{r cars, results='asis'}

data.df <- iris %>%
  data.frame %>%
  group_by(Species) %>%
  filter(row_number()<=3) %>%
  mutate(rowid=1:n()) %>%
  ungroup %>%
  mutate(Species=as.character(Species)) %>%
  mutate(Species=paste0('$\\geq$',Species)) %>%
  mutate(rowid=paste0('$\\geq$',rowid)) %>%
  rename('$\\geq$rowid'='rowid')

data.df %>%
  select(-Species) %>%
  kable(.,format = 'latex',booktabs=TRUE,escape = FALSE,longtable=TRUE) %>%
  group_rows(index = auto_index(data.df$Species)) %>%
  kable_styling(latex_options = c('repeat_header','striped','HOLD_position'))

```

1 Ответ

0 голосов
/ 29 декабря 2018

Заголовки сгруппированных строк помещаются в оператор \textbf{}, и в процессе выполняется дополнительная санация текста.Если вы используете escape = T внутри group_rows и добавляете дополнительную обратную косую черту, это работает:

data.df <- iris %>%
  data.frame %>%
  group_by(Species) %>%
  filter(row_number()<=3) %>%
  mutate(rowid=1:n()) %>%
  ungroup %>%
  mutate(Species=as.character(Species)) %>%
  mutate(Species=paste0('$\\\\geq$', Species)) %>%  # extra backslashes 
  mutate(rowid=paste0('$\\geq$',rowid)) %>%
  rename('$\\geq$rowid'='rowid')

data.df %>%
  select(-Species) %>%
  kable(., format = 'latex', booktabs=TRUE, escape = FALSE, longtable=TRUE) %>%
  group_rows(index = auto_index(data.df$Species), escape = F) %>%  # escape = F
  kable_styling(latex_options = c('repeat_header','striped','HOLD_position'))

enter image description here

...