【问题标题】:ShinyDashboard Dynamic Bullet PointsShinyDashboard 动态要点
【发布时间】:2018-10-23 22:26:07
【问题描述】:

希望有一个简单的问题可以将标签有序列表传递给闪亮的仪表板。我想做的是有一个函数,它根据过滤的类别制作一个有序的项目符号列表。

这是我希望能够使用名为 nba_teams 的数据框做的一个简单示例

teams    conference
Bulls    Eastern
Nuggets  Western
Celtics  Eastern
Lakers   Western

现在,如果我编写此函数,它将列出各个会议的列表:

for (row in 1:nrow(nba_teams)){
  teams <- nba_teams[row, "teams"]
  conference <- nba_teams[row,"conference"]

  if(grepl("Western",conference)){
   print(tags$li(teams))
 }
}

  • 掘金
  • 湖人队
  • 我想做的是把它放在一个标签框中,这样:

    box(
     title = "Western Conference",
     tags$ol(
      for (row in 1:nrow(nba_teams)){
      teams <- nba_teams[row, "teams"]
      conference <- nba_teams[row,"conference"]
    
      if(grepl("Western",conference)){
       print(tags$li(teams))
     }
    })),
    

    但这只是将框留空,并且不会用每个观察的项目符号填充框。

    有什么建议吗?谢谢!

    【问题讨论】:

      标签: r shiny shinydashboard


      【解决方案1】:

      在这种情况下我会使用lapply

      library(shiny)  
      library(shinydashboard)
      
      nba_teams <- data.frame(team = c("Bulls", "Nuggest", "Celtics", "Lakers"),
                              conference = c("Eastern", "Western", "Eastern", "Western"))
      
      ui <- dashboardPage(
        dashboardHeader(),
        dashboardSidebar(),
        dashboardBody(
          box(
            title = "Western Conference",
            tags$ol(
              lapply(1:nrow(nba_teams), function(x) {
                if (nba_teams$conference[x]=="Western") {
                  return(tags$li(nba_teams$team[x]))
                }
              })
            )
          )
        )
      )
      
      server <- function(input, output, session) {}
      
      shinyApp(ui, server)
      

      【讨论】:

      • 很高兴它有帮助:)
      猜你喜欢
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2023-03-29
      • 2020-02-02
      • 2020-09-22
      • 2020-08-08
      • 1970-01-01
      相关资源
      最近更新 更多