繁体   English   中英

闪亮的R:如何使用gvisTable反应地对数据框进行排序

[英]shiny R: how to sort dataframe reactively using gvisTable

我正在构建一个Web应用程序,该应用程序将从用户那里获取输入值,并使用它创建一个数据框,最后使用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))
  })

您的代码不可复制,但是我猜您需要在gvisTable添加sortColumn选项。

像这样:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM