Иконки вообще не отображаются в R flexdashboard - PullRequest
2 голосов
/ 27 января 2020

Я создаю flexdashboard, который отображает таблицу. В последний столбец включены значки, но они вообще не отображаются из-за flexdashboard. Это нормально работает в Shinydashboard. Любое решение?

---
title: "Single Column (Fill)"
output: 
  flexdashboard::flex_dashboard:
    vertical_layout: fill
---

```{r global, include=FALSE}
library(shiny)
library(shinydashboard)
FCB<-c(5,6,4,6,8)
TWI<-c(3,5,2,3,5)
IN<-c(2,1,1,1,1)
DF1<-data.frame(FCB,TWI,IN)

FCB<-c(0,0,1,2,4)
TWI<-c(1,2,3,4,5)
IN<-c(1,3,4,5,6)
DF2<-data.frame(FCB,TWI,IN)

DF1$direction <- ifelse(
  DF1$FCB < DF2$FCB,
  as.character(icon("angle-up")),
  as.character(icon("angle-down"))
)
```

### Chart 1

```{r}
renderTable(DF1, sanitize.text.function = function(x) x)
```

1 Ответ

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

Вы используете контент Shiny, отображаемый в файл c. Я добавил runtime: shiny в заголовок YAML.

Если вам просто нужны стрелки, используйте simpe UTF-8, такие как , эти будут в порядке?

Если вы хотите отобразить HTML в таблице на flexdashboard, вам следует используйте данные из пакета DT. Обратите внимание, что рендеринг HTML по умолчанию экранирован. Для рендеринга HTML в вашей таблице вы должны установить escape = FALSE.

Вот вариант:

---
title: "Single Column (Fill)"
output: 
  flexdashboard::flex_dashboard:
    vertical_layout: fill
  runtime: shiny
---

```{r global, include=FALSE}
library(DT)
library(shiny)
library(shinydashboard)
FCB<-c(5,6,4,6,8)
TWI<-c(3,5,2,3,5)
IN<-c(2,1,1,1,1)
DF1<-data.frame(FCB,TWI,IN)

FCB<-c(0,0,1,2,4)
TWI<-c(1,2,3,4,5)
IN<-c(1,3,4,5,6)
DF2<-data.frame(FCB,TWI,IN)

DF1$direction <- ifelse(
  DF1$FCB < DF2$FCB,
  "<p>&uarr;</p>",
  "<p>&darr;</p>"
  )

DF1.table <- datatable(DF1, escape = FALSE)
```

### Chart 1

```{r}
DT::renderDataTable(DF1.table)
```
...