R闪亮的导入传单html小部件对象
Posted
技术标签:
【中文标题】R闪亮的导入传单html小部件对象【英文标题】:R shiny import leaflet html widget object 【发布时间】:2018-10-31 19:18:26 【问题描述】:我有一个作为 .rds 文件导出的传单图。 我现在如何在闪亮的应用程序中输出这个图? 下面是我尝试过的最小示例代码,目前给出“警告:FUN 中的错误:参数不是字符向量 [没有可用的堆栈跟踪]”
library(shiny)
shinyUI<-fluidPage(mainPanel(
uiOutput("test")
)
)
shinyServer<-function(input,output)
output$test<-renderUI(readRDS("./Plots/LeafletPlot.rds"))
shinyApp(shinyUI,shinyServer)
请注意,我也尝试过使用 renderLeaflet 和 LeafletOutput 但无济于事。 从控制台运行 readRDS("./Plots/LeafletPlot.rds") 确实可以毫无问题地加载传单地图。
非常感谢任何帮助,谢谢!
【问题讨论】:
将readRDS("./Plots/LeafletPlot.rds")
放在应用的开头或global.R
中,并明确使用leafletOutput
和renderLeaflet
来映射您的数据
谢谢@G.Cocca;这是原则上的解决方案;但是我仍然遇到问题,因为传单图是在使用应用程序时在前一个阶段生成的,所以我无法在开始时加载它(输出图是前一个输出的条件面板,所以我不能把它放在全局中。 R 要么)。有没有办法从服务器内部将外部文件加载到 R(以先前的输出为条件)?
实际上,我可能会走在应用程序本身内实际生成传单的路线,而不是通过这种中介导出 .rds 并随后重新导入(我在现有套件的基础上构建应用程序)函数,因此存在这个 .rds 中介)。
【参考方案1】:
# Create your object
library(leaflet)
map <- leaflet::leaflet() %>%
leaflet::addProviderTiles(providers$OpenStreetMap)
saveRDS(object = map, file = "map.rds")
# Read it at the beginning
map2 <- readRDS("map.rds")
library(shiny)
shinyUI<-fluidPage(mainPanel(
leafletOutput("test")
)
)
shinyServer<-function(input,output)
output$test<-renderLeaflet(map2)
shinyApp(shinyUI,shinyServer)
【讨论】:
以上是关于R闪亮的导入传单html小部件对象的主要内容,如果未能解决你的问题,请参考以下文章