2017-09-10 13 views
5

Tôi đang cố đăng tải bài đăng đầu tiên lên blog Hugo bằng RMarkdown. Dưới đây bạn có thể tìm thấy mã của tôi tạo tài liệu:Kết hợp các ứng dụng sáng bóng tương tác vào tài liệu Rmarkdown để blog blog Hugo blog

--- 
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)) 
) 
``` 

Tôi lưu tệp này dưới dạng tệp .Rmd trong phần Bài đăng của dự án R liên quan đến thư mục blog. Khi tôi chạy:

blogdown::serve_site() 

tôi nhận được một lỗi nói: Lỗi: đường dẫn cho html_dependency không được cung cấp Thực hiện dừng Lỗi trong render_page (f): Trang trình bày ở trên.

Tôi mới làm quen với blog và không tìm được giải pháp cho lỗi này, vì vậy nếu có ai đó có thể cung cấp một số thông tin chi tiết về cách khắc phục lỗi này và bao gồm các ứng dụng sáng bóng tương tác vào Hugo.

Cảm ơn bạn!

+0

Lỗi cơ bản, 'đường dẫn cho html_dependency không được cung cấp', có thể liên quan đến câu hỏi này [Tạo bản trình bày sáng bóng từ ứng dụng sáng bóng?] (Https://stackoverflow.com/questions/25654309/create-shiny-presentation-từ -shiny-app) – jq170727

Trả lời

9

Gói blogdown là dành cho trang web tĩnh, có nghĩa là bạn chỉ có thể tạo các trang tĩnh. Các ứng dụng sáng bóng phụ thuộc vào các phiên R trực tiếp, vì vậy chúng không thể được nhúng vào các trang HTML tĩnh trừ khi bạn sử dụng iframe. Tức là, bạn không thể sử dụng tài liệu Shiny R Markdown (runtime: shiny) với blogdown. Bạn phải xuất bản ứng dụng Shiny trên một máy chủ có R và Shiny Server, và sử dụng <iframe src="URL-OF-YOUR-SHINY-APP"></iframe> để nhúng ứng dụng vào một trang web.

+0

Cảm ơn bạn đã làm rõ. – Jorge

Các vấn đề liên quan