Выровняйте имя столбца по вертикали, используя kable, и визуализируйте с помощью rmarkdown в html - PullRequest
1 голос
/ 29 января 2020

Создала таблицу ниже и хотела бы выровнять по вертикали слово «Вид» в центре / середине ячейки. Я использую RMarkdown для генерации HTML, а не LateX. Какие-нибудь советы?

enter image description here

---
title: "Untitled"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE )


library( kableExtra )
options( scipen = 99 )

```

```{r iris}

tab_iris <- knitr::kable( iris , format = "html" , col.names = c( "Sepal<br>Length" , "Sepal<br>Width" , "Petal<br>Length" , "Petal<br>Width" , "Species" ) , align = "c" , escape = F ) %>% kable_styling(full_width = F , bootstrap_options = c( 'hover', 'condensed' , 'bordered'), position = 'left') %>% add_header_above( c('Kendal Iris Test' = 5) , bold = TRUE , background = '#0077c8' , color = 'white' ) 

```

`r tab_iris`

1 Ответ

2 голосов
/ 29 января 2020

Вы можете использовать kableExtra::row_specs и аргумент extra_css:

library(knitr)
library(kableExtra)

kable( head(iris) , format = "html" , 
       col.names = c( "Sepal<br>Length" , "Sepal<br>Width" , 
                      "Petal<br>Length" , "Petal<br>Width" , "Species" ) , 
       align = "c" , escape = F ) %>% 
  kable_styling(full_width = F , bootstrap_options = c( 'hover', 'condensed' , 'bordered'), 
                                 position = 'left') %>% 
  add_header_above( c('Kendal Iris Test' = 5) , bold = TRUE , 
                    background = '#0077c8' , color = 'white' ) %>% 
  kable_styling(full_width = T) %>% 
  row_spec(0 ,  bold = F, extra_css = 'vertical-align: middle !important;')

...