首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ShinyDashboard动态子弹点

ShinyDashboard动态子弹点
EN

Stack Overflow用户
提问于 2018-10-22 22:12:54
回答 1查看 869关注 0票数 2

我希望有一个简单的问题,把一个标签顺序列表传递到一个闪亮的仪表板上。我想要做的是有一个函数,根据一个过滤的类别,生成一个排序的项目点列表。

下面是一个简单的示例,说明我希望能够使用名为nba_teams的数据框架做什么

代码语言:javascript
复制
teams    conference
Bulls    Eastern
Nuggets  Western
Celtics  Eastern
Lakers   Western

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

代码语言:javascript
复制
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))
 }
}

  • 鸡块
  • 湖人队

我想要做的是在一个选项卡框中这样做:

代码语言:javascript
复制
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))
 }
})),

但这只会使方框成为空白,不会为每个观察结果填充一个子弹点。

有什么建议吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 14:26:07

在这种情况下,我会使用lapply

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52938451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档