gpt4 book ai didi

在 R/shiny 中使用 renderTmap 时的 react 性问题

转载 作者:行者123 更新时间:2023-12-04 13:39:28 25 4
gpt4 key购买 nike

我正在尝试将 tmap 集成到 Shiny 的应用程序中,但这样做时遇到了 react 性问题。我收到一个错误,暗示函数 renderTmap() 不会创建 react 环境(而“经典” renderXXX() 函数会创建)。

这是我收到的错误消息:

Error in .getReactiveEnvironment()$currentContext() : Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)



因此,我还没有设法创建一个考虑到输入值的 map ......

这是我正在尝试做的一个简单示例(仅当我不根据输入值更新 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)

有人对此问题有解释/解决方法吗?

P.S.:我真的很喜欢 renderTmap 而不是 renderLeaflet:我正在尝试向迄今为止使用过 tmap 的学生教授 Shiny 的知识......

最佳答案

此问题已于 2020 年 7 月 16 日修复。现在,您问题中的代码应该可以正常工作。
您现在需要使用软件包的开发版本:

remotes::install_github("mtennekes/tmaptools")
remotes::install_github("mtennekes/tmap")
https://github.com/mtennekes/tmap/issues/474 了解更多信息.
enter image description here

关于在 R/shiny 中使用 renderTmap 时的 react 性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59643313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com