[英]R Shiny: unwanted reactivity using htmlOutput and observeEvent
[英]Reactivity problem while using renderTmap within R/shiny
我正在尝试将 tmap 集成到闪亮的应用程序中,但这样做时遇到了反应性问题。 我收到一个错误,暗示函数 renderTmap() 不会创建反应环境(而“经典” renderXXX() 函数会创建)。
这是我收到的错误消息:
.getReactiveEnvironment()$currentContext() 中的错误:在没有活动反应上下文的情况下不允许操作。 (你试图做一些只能从反应式表达式或观察者内部完成的事情。)
因此,我还没有设法创建一个考虑到输入值的地图......
这是我正在尝试做的一个简单示例(仅当我不根据输入值更新data_map
时才有效!)
library(shiny)
library(sf)
library(tmap)
nc=st_read(system.file("shape/nc.shp", package="sf"))
# Define UI for application that draws a histogram
ui=fluidPage(
selectInput("name",
"name",
unique(nc$NAME)),
tmapOutput("map"))
)
server=function(input, output) {
output$map <- renderTmap({
data_map <- subset(nc,NAME==input$name)
tm_shape(data_map)+
tm_borders()
})
}
shinyApp(ui=ui,server=server)
有人对此问题有解释/解决方法吗?
PS:我真的很喜欢renderTmap而不是renderLeaflet:我正在尝试向迄今为止使用过tmap的学生教授shiny...
此问题已于 2020 年 7 月 16 日修复。 现在,您问题中的代码应该可以正常工作。
您现在需要使用软件包的开发版本:
remotes::install_github("mtennekes/tmaptools")
remotes::install_github("mtennekes/tmap")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.