Подтвердить что ты не робот

Включение интерактивных блестящих приложений в документ Rmarkdown для блога Блог Hugo

Я пытаюсь загрузить свой первый пост в блог Hugo, используя RMarkdown. Ниже вы можете найти мой код, создающий документ:

---
title: "Untitled"
author: "Jorge"
date: "September 9, 2017"
output: html_document
runtime: shiny
---


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

'''


'''{r echo=FALSE, include=FALSE}
data('USArrests')
head(USArrests)
'''
'''{r echo = TRUE, include = FALSE}

library(tidyverse)
library(maps)
library(mapproj)
library(geosphere)
library(ggrepel)
library(scales)
library(RColorBrewer)
library(plotly)
library(shiny)
'''

## Map
'''{r, echo = FALSE, include = TRUE}

us_states <- map_data('state')
USArrests$region <- tolower(row.names(USArrests))
arrest_map_data <- merge(us_states, USArrests, by = 'region')
arrest_map_data <- arrest_map_data[order(arrest_map_data$order),]

inputPanel(
  selectInput("crime", label = "Crime: ",
          choices = list('Murder' = 'Murder', 
                         'Assault' = 'Assault', 
                         'Rape' = 'Rape'), selected = 'Murder')

)

renderPlot(

  ggplot() + coord_map() + 
geom_map(data = arrest_map_data, map = arrest_map_data,
                              aes(x = long, y = lat, map_id = region),
                              fill = "grey80", color = "black", size = 0.15) +
                     geom_polygon(data = arrest_map_data, aes_string(x = 'long', y = 'lat', 
                                                            group = 'group', fill = input$crime)) +
                     scale_fill_gradient(low = 'light blue', high = 'dark blue', name = 'Arrests per 100,000\nresidents') +
                     theme(legend.position = 'bottom', 
                           panel.grid = element_blank(),
                           panel.background = element_blank(),
                           axis.text = element_blank(),
                           axis.title = element_blank())
)
'''

## Scatterplot
'''{r, echo = FALSE, include = TRUE}

inputPanel(

  checkboxGroupInput("crime2", label = "Crime: ",
              choices = list('Murder' = 'Murder', 
                         'Assault' = 'Assault', 
                         'Rape' = 'Rape'), selected = c('Murder', 'Assault'))
)

renderPlotly(

  ggplotly(ggplot(data = USArrests, 
              aes_string(x = input$crime2[1], y = input$crime2[2], text = input$region)) + 
      geom_point(fill = "grey80", color = "black", size = (USArrests$UrbanPop) / 10))
)
'''

Я сохраняю это как.Rmd файл в разделе Posts в проекте R, связанном с каталогом blogdown. Когда я запускаю:

blogdown::serve_site()

Я получаю сообщение об ошибке: Ошибка: путь для html_dependency не указан. Выполнение остановлено Ошибка в render_page (f): страница, показанная выше.

Я новичок в blogdown и не могу найти решение этой ошибки, поэтому, если кто-то может дать некоторое представление о том, как обойти эту ошибку и включить интерактивные блестящие приложения в Hugo, пожалуйста, дайте мне знать.

Спасибо!

4b9b3361

Ответ 1

Пакет blogdown для статических веб-сайтов, что означает, что вы можете создавать только статические страницы. Блестящие приложения зависят от сеансов Live R, поэтому они не могут быть встроены на статические HTML-страницы, если вы не используете iframes. То есть вы не можете использовать документы Shiny R Markdown (runtime: shiny) с помощью блога. Вы должны опубликовать приложение Shiny на сервере, где доступны R и Shiny Server, и использовать <iframe src="URL-OF-YOUR-SHINY-APP"></iframe> для встраивания приложения на веб-страницу.