R-将交互式闪亮的应用程序纳入Blogdown Hugo博客的RmarkDown文档



我正在尝试使用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,000nresidents') +
                     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))
)
```

我将其保存为与Blogdown目录相关的R项目的帖子部分中的.RMD文件。当我运行时:

blogdown::serve_site()

我有一个错误说:错误:未提供html_depententy的路径执行停止render_page(f)中的错误:上面显示的页面。

我是Blogdown的新手,找不到解决此错误的解决方案,因此,如果有人可以提供有关如何解决此错误并将互动闪亮应用程序纳入Hugo中的一些见解,请让我知道。

谢谢!

blogdown 软件包适用于静态网站,这意味着您只能生成静态页面。闪亮的应用程序取决于实时r会话,因此除非使用iFrame,否则它们不能嵌入静态HTML页面上。也就是说,您不能使用 blogdown 使用闪亮的R Markdown文档(runtime: shiny)。您必须在可用的R和Shiny服务器的服务器上发布闪亮的应用程序,并使用<iframe src="URL-OF-YOUR-SHINY-APP"></iframe>将应用程序嵌入网页上。

最新更新