过滤反应函数时的问题

时间:2020-09-23 04:30:13

标签: r shiny shinydashboard shiny-server shiny-reactivity

我正在尝试生成一个数据框,以后将其用于在传单地图上绘制一系列坐标。 这个想法是,从下拉菜单中选择的输入将创建两个具有相应纬度和经度的变量。这些变量随后作为列插入到数据框并计算距离。所选纬度之间的距离也作为一列添加到同一数据框中。

我需要的是能够通过过滤前面提到的数据框来创建一个新的数据框。我面临的问题是,鉴于其响应特性,第一个数据框现在是一个函数。我提供了一些代码来说明这种情况:

server <- function(input, output,session) {

  estacion<-reactive(input$estacion)
  lonOBS <- reactive(estaciones$lon[estaciones$nombres == estacion()])
  latOBS <- reactive(estaciones$lat[estaciones$nombres == estacion()])

  globals<- reactiveValues(mydf=df_mapas)
  
  observe({
    globals$mydf$lonOBS <- lonOBS()
    globals$mydf$latOBS <- latOBS()
    globals$mydf$distOBS <- distHaversine(cbind(globals$mydf$lonOBS,
                                                globals$mydf$latOBS),
                                      cbind(globals$mydf$longitud,
                                            globals$mydf$latitud))
    })
  data_to_map1<-globals$mydf %>% filter(distOBS <= "100" &
                                          velocidad >= 50)

.getReactiveEnvironment()$ currentContext()中的错误: 没有活动的响应上下文,不允许进行操作。 (您试图做一些只能在反应式表达式或观察器内部完成的操作。)

我正在寻找的是将data_to_map1作为数据框,然后将其用于在地图上绘制坐标,就像它在闪亮的外部工作但根据输入进行更新一样。

谢谢。

0 个答案:

没有答案