当我尝试在 Sublime Text 3 中使用 R markdown
构建时,出现以下错误:
Quitting from lines 33-73 (index.rmd)
Error in output$map <- renderLeaflet({ : object 'output' not found
Calls: <Anonymous> ... handle -> withCallingHandlers -> withVisible -> eval -> eval
我想使用以下代码生成一个 .html
文件并使用 GitHub 页面进行部署。
下面的代码是我原始代码的简化版本。 REPREX 代码的要点是
找到一种在 flexdashboard 列环境中生成 REACTIVE 映射的方法。出于某种原因,这段代码
在包含 rmarkdown::run()
文件的当前目录的终端中使用 .rmd
。
但是,在使用 Sublime Text 3 时,同样的代码会失败,从而产生上述问题。
有没有办法生成 .html
文件,使 REACTIVE 地图能够渲染/显示?
---
title: "COVID-19 Tracker"
date: "`r Sys.Date()`"
fontsize: 9pt
fontfamily: Segoe UI
output: flexdashboard::flex_dashboard
runtime: shiny
---
suppressMessages( require(dplyr) )
suppressMessages( require(stringr) )
suppressMessages( require(tidyr) )
suppressMessages( require(flexdashboard) )
suppressMessages( require(mustashe) )
suppressMessages( require(leaflet) )
suppressMessages( require(maps) )
suppressMessages( require(mapdata) )
suppressMessages( require(shiny) )
suppressMessages( require(htmltools) )
suppressMessages( require(htmlwidgets) )
suppressMessages( require(jsonlite) )
suppressMessages( require(maptools) )
cntry <- map("world2Hires",fill=F,plot=F)$names[1:100]
cntry <- cntry[order(cntry)]
getBounds <- function(vec=NULL)
{
lng1 <- rep(0,length(vec))
lat1 <- rep(0,length(vec))
lng2 <- rep(0,length(vec))
lat2 <- rep(0,length(vec))
for (i in 1:length(vec))
{
lat1[i] <- map("world2Hires",fill=F,region=vec[i],plot=F)$range[3] %>% round(5)
lng2[i] <- map("world2Hires",fill=F,region=vec[i],plot=F)$range[2] %>% round(5)
lat2[i] <- map("world2Hires",fill=F,region=vec[i],plot=F)$range[4] %>% round(5)
lng2[i] <- map("world2Hires",fill=F,region=vec[i],plot=F)$range[1] %>% round(5)
}
cbind(lng1,lat1,lng2,lat2)
}
location <- getBounds(vec=cntry)
df1 <- data.frame(cntry,location)
Column {.sidebar}
--------------------------------------------------
### Epicenter Region
# https://community.rstudio.com/t/rstudio-connect-interactive-markdown-with-shiny-error-path-for-html-dependency-not-provided/7263/11
selectInput("loc",
label="Select Region:",
selectize=FALSE,
choices=df1[,1],
selected=df1[19,1])
Column
--------------------------------------------------
### COVID-19 Epicenters
# base layer
output$myMap <- renderLeaflet({
myMap <- leaflet() %>% addTiles() %>%
# add tile theme layer
addProviderTiles(providers$CartoDB.Positron) %>%
# add bounds
fitBounds(lng1=map("world2Hires",fill=F,region=input$loc,plot=F)$range[1],
lat1=map("world2Hires",fill=F,region=input$loc,plot=F)$range[3],
lng2=map("world2Hires",fill=F,region=input$loc,plot=F)$range[2],
lat2=map("world2Hires",fill=F,region=input$loc,plot=F)$range[4])
return(myMap)
})
leafletOutput("myMap")