表名而不是正在显示的表R闪亮[重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我试图在R闪亮中打印一个表,但是,它不断打印表名而不是表。表名保存为反应变量,然后放入渲染表,但它只是保持打印表名。

我怎么解决这个问题?

server=function(input, output){

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

ans=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]))})

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


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

shinyApp(ui=ui,server=server)
r shiny
1个回答
0
投票

没有任何数据或任何想法真的是你正在努力做到难以帮助,那就是说我试图通过推测你想要做什么。我整理了一下并添加了req()

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)
© www.soinside.com 2019 - 2024. All rights reserved.