Таблица LaTex в knitr со сложной структурой (вращение многострочного текста, удаление разделителей столбцов) - PullRequest
0 голосов
/ 07 июня 2019

Мне нужно создать латексную таблицу в RStudio для вывода в формате PDF со следующей структурой:

enter image description here

Эта таблица была создана для вывода html сследующий код:

mat <- data.frame(a = c("column header","column header"),
                  rowx=c("row1","row2"),b = c("a","b"),
                  c = c("x","y"))
kable(mat, align = "c",col.names = c("","","v1","v2")) %>%
kable_styling(bootstrap_options = "striped", full_width = F, 
              position = "left",font_size = 12) %>%
column_spec(1, bold = T,width="2em",extra_css="transform: rotate(-90deg);") %>%
collapse_rows(columns = 1, valign = "middle") %>%
add_header_above(c(" " = 2, "row header" = 2))

Мне нужно создать аналогичную структуру с таблицами LaTeX.

Его, как далеко я получил:

mat <- data.frame(a = c("column header","column header"),
                  rowx=c("row1","row2"),b = c("a","b"),c = c("x","y"))
kable(mat, align = "c",col.names = c("","","v1","v2")) %>%
kable_styling(bootstrap_options = "striped", full_width = F, position = "left",font_size = 12) %>%
collapse_rows(columns = 1, latex_hline = "none") %>%
add_header_above(c(" " = 2, "rows" = 2))

enter image description here

Так что мне все еще нужно по крайней мере еще 2 вещи:

  • поверните метку в самом первом столбце
  • удалите паразитный самый левый разделитель столбцов ввторая строка.

Этого можно достичь с помощью команд и параметров kableExtra?

1 Ответ

0 голосов
/ 11 июня 2019

Вот снимок с huxtable (мой пакет):

as_hux(mat, add_colnames = TRUE) %>% 
      insert_row(c("", "", "rows", "")) %>% 
      merge_cells(3:4, 1) %>%  
      merge_cells(1, 3:4) %>% 
      merge_cells(1:2, 1:2) %>% 
      set_rotation(3, 1, 90) %>% 
      set_bottom_border(0.4) %>%  
      set_bold(1:2, everywhere, TRUE) %>% 
      set_wrap(3, 1, TRUE) %>% 
      set_bottom_padding(4, -1, 48) %>% 
      set_bottom_padding(3, -1, 30) %>% 
      set_row_height(c("1em", "1em", "1.5em", "1.5em")) %>% 
      quick_pdf()

Я должен признать, что это заняло много изменений.Таблицы TeX сложны для понимания ....

enter image description here

...