【问题标题】:shiny R: how to sort dataframe reactively using gvisTable闪亮的 R:如何使用 gvisTable 对数据帧进行反应性排序
【发布时间】:2017-03-07 16:23:43
【问题描述】:

我正在构建一个网络应用程序,它从用户那里获取输入值,用它创建一个数据框,并最终使用 gvisTable 显示它。但是,我正在努力按分数列动态排序数据框。

这是我在 server.R 文件中的内容:

values<- reactiveValues() 
  values$df<- data.frame()

  observeEvent(input$click_counter, {
    name<- input$name
    gender<- input$gender
    college<- input$college
    team<- input$team
    score<- as.numeric(input$score)
    rank<- 0

    new_row<- data.frame(rank,name,college,gender,team,score)

    values$df<- rbind(values$df, new_row)
    values$df<- values$df[order(values$df$score,decreasing=TRUE),]
    values$df$rank<- 1:nrow(values$df)
  })

dff1 <- data.frame()
  output$summa2 <- renderGvis({
    for (team_name in unique(values$df$team)){
      rank <- 0
      team <- team_name
      score <- format(mean(values$df[values$df$team==team_name,]$score), digits=4)

      new_row<- data.frame(rank, team, score)

      dff1 <<- rbind(dff1, new_row)
      dff1 <<- dff1[order(dff1$score,decreasing=FALSE),]
      dff1$rank <<- 1:nrow(dff1)
    }
    return(gvisTable(dff1))
  })

【问题讨论】:

    标签: r shiny shinydashboard


    【解决方案1】:

    您的代码不可重现,但我猜您需要在gvisTable 中添加sortColumn 选项。

    像这样:

    return(gvisTable(dff1, options=list(sortColumn='COLUMN_NUMBER'))
    

    只需替换所需列的“COLUMN_NUMBER”即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 2013-12-22
      • 2017-01-12
      相关资源
      最近更新 更多