【问题标题】:Table name and not table being displayed R Shiny [duplicate]表名而不是表正在显示 R Shiny [重复]
【发布时间】:2018-08-13 04:12:17
【问题描述】:

我正在尝试在 R Shiny 中打印一张表格,但是,它一直在打印表格名称而不是表格。表名保存为反应变量,然后放入渲染表,但它只是不断打印表名。

我该如何解决这个问题?

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】:

    在没有任何数据或任何想法的情况下,您正在尝试做什么很难提供帮助,这就是我通过推测您想要做什么的尝试。我整理了一下,加了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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多