如果声明R闪亮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果声明R闪亮相关的知识,希望对你有一定的参考价值。

我想在Shiny中使用if语句。

我想在for()循环之外使用“min”和“name”变量。

我已经尝试将if()语句放在reactive中,但后来我无法访问“min”和“name”变量。

Code:

server=function(input, output){

cord <- reactive({matrix(c(input$long,input$lat),nrow=1,ncol=2)})

min=reactive({distHaversine(c(b[1,2],b[1,3]),c(cord[,1],cord[,2]))})

for (i in 1:15){
  distance=reactive({distHaversine(c(b[i,2],b[i,3]),c(cord[,1],cord[,2]))})


  if(distance() < min())
  {
  min=distance()
  name=reactive({CO[i,1]})
  }
}

data=reactive({name()})
output$table<-renderTable(data())
}

shinyApp(ui=ui,server=server)
答案

根据您的新票Table name and not table being displayed R Shiny

library(shiny)

ui <- fluidPage(renderTable("table"))

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

  v <- reactiveValues()

  cord <- reactive({
    req(input$long)
    req(input$lat)
    mc <- matrix(c(input$long,input$lat),nrow=1,ncol=2)
    v$ans <- distHaversine(mc(b[1,2],b[1,3]),c(mc[,1],mc[,2]))
    mc
  })

  data <- reactive({

    for(i in 1:15){
      distance <- distHaversine(c(b[i,2],b[i,3]),c(cord()[,1],cord()[,2]))

      if(distance < v$ans){
        v$ans <- distance
        return(CO[i,1])
      }
    }
  })

  output$table <- renderTable({
    data()
  })
}

shinyApp(ui=ui,server=server)

以上是关于如果声明R闪亮的主要内容,如果未能解决你的问题,请参考以下文章

R 用 updateSelectInput 反应闪亮

r闪亮:按下按钮时eventReactive没有反应

r - 空文本输入()导致传单闪亮应用程序中的错误

R闪亮,找不到对象'输入'。

R闪亮:更新data.table中的选择输入值

如何在框内添加文本,并在 R 闪亮中绘制情节?