RShiny не удается разобрать HTML

#r #shiny #shinydashboard

#r #блестящий #shinydashboard

Вопрос:

Рассмотрим следующее приложение:

 library(shiny)
library(shinydashboard)
library(shinyWidgets)

tab_example <-
  tabItem(tabName = "example",
          fluidRow(
            column(6,
                   h4("example"),
                   includeHTML("example.html")
            )
          )
  )

body <-
  dashboardBody(
    tabItems(
      tab_example
    )
  )

sidebar <-
  dashboardSidebar(
    sidebarMenu(
      menuItem("Example", tabName = "example", icon = icon("bullseye"))
    )
  )

ui <-
  dashboardPage(
    dashboardHeader(title = "EXAMPLE"),
    sidebar,
    body
  )

server <- function(input, output) {


}

shinyApp(ui = ui, server = server)

 

При этом example.html :

 <p>My first paragraph.</p>
 

Это выполняется так, как должно, но при запуске более сложного примера со структурой папок не удается выполнить синтаксический анализ.

Структура папок:

 ├── example
│   └── example.html
├── dashboard.R
├── ui_elements
│   └── sidebar.R
│   └── body.R
│   └── tabs
│    └── tab_example.R
 

tab_example.R :

 source("example/example.html")

tab_example <-
  tabItem(tabName = "example",
          fluidRow(
            column(6,
                   includeHTML("example.html")
            )
          )
  )
 

Сообщение об ошибке:

  Error in source("example/example.html") : 
  example/example.html:1:1: unexpected '<'
1: <
 

Есть ли что-то, что мне нужно сделать в source("example/example.html") call?

Ответ №1:

Глядя на справку от source , в заголовке говорится:

Считывает R-код из файла, соединения или выражений

Однако при попытке прочитать HTML-файл происходит сбой. Вы можете просто указать правильный путь в includeHTML :

 includeHTML("example/example.html")
 

и не нужно использовать source