r - ShinyDashboard 动态要点
问题描述
我希望有一个简单的问题可以将标签有序列表传递给闪亮的仪表板。我想做的是有一个函数,它根据过滤的类别制作一个有序的项目符号列表。
这是我希望能够对名为 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))
}
})),
但这只是将框留空,并且不会在框内填充每个观察的项目符号。
有什么建议么?谢谢!
解决方案
我会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)
推荐阅读
- jmeter - 在 Azure Pipelines 中使用 Taurus Runner Task 创建 JMeter HTML 报告
- c - Typedef 用不同类型重新定义('struct TGAME' vs 'struct TGAME')
- macos - 如何为 mac 制作一个应用程序安装程序,同时安装一些依赖项,如 Node
- javascript - Outlook 加载项不适用于移动应用程序
- python - 如何使用 Python 执行相对导入
- python - 如何在管理页面的模型中添加无限字段
- javascript - Intl.NumberFormat 的指数表示法
- kubernetes - Airflow KubernetesPodOperator - 使用 ConfigMap 值作为环境变量
- javascript - 将多个事件与 mousemove 结合
- python - 获取每列具有多个值的行