Я не могу получить символы юникода, которые будут отображаться при привязке таблицы kable к html, когда kable отображается с помощью print.Примечание. Мне нужно использовать kable в операторе print для итерации по нескольким сайтам (кажется, что kable не работает в цикле без использования print).
Символы Юникода отображаются правильно, когда таблица kableпросматривается непосредственно в консоли Rstudio и при вязании, когда не отображается с помощью вязания.
При отображении с печатью оно отображается правильно в консоли, но не при вязании.Появляется (в html инспекторе символы юникода преобразуются в <..> при вязании.
У меня есть:
- , включенные как результаты = 'asis'
- used escape = FALSE в kable ()
использовал html, эквивалентный U + 2190, в моей таблице (например, ")")
# ----
title: "Example of Unicode symbols with kable and print"
output: html_document
#----
#```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
#```
#```{r dataset, , include=FALSE}
library(tidyr)
library(kableExtra)
library(purrr)
dat <- tibble(Symbol=c("up arrow", "down arrow", "side arrows"),
htmlCode = c("↑", "↓", "↔"))
#```
#```{r kable-tbl, results='asis'}
tbl_fun <- function(df){
tbl <- df %>% kable(escape = F) %>%
kable_styling(bootstrap_options = c("hover", "condensed"),
full_width = F, position = "left", fixed_thead = T)
tbl
}
#this works when knit and when run in Rstudio console directly
tbl_fun(dat)
#when wrapped in a print function it works when run in Rstudio console directly
#but not when knit to html
print_kable <- function(df) {
tbl_fun(dat) %>%
print(format = 'html')
}
print_kable(dat)
#The above was a simplification - in my code I eventually want to iterate over
#many parameters, which is why I need to wrap in a print statement....
#walk(.x = unique(dat$Site), print_kable)
#```