在R中,我熟悉renderMenu选项,可以将数据框中的行列表呈现为下拉菜单:
服务器端:
output$task_menu <- renderMenu({
tasks <- apply(task_data, 1, function(row) {
taskItem(text = row[["text"]],
value = row[["value"]])
})
dropdownMenu(type = "tasks", .list = tasks)
})
和UI方面:
dashboardHeader(dropdownMenuOutput("task_menu"))
您是否知道如何使用infoBoxes作为dashboard中的fluidRow的一部分?
具体来说,我有一个包含类别,标题,描述,图标和Web链接等属性的数据框,我想生成一个仪表板,以比用户更友好的方式显示此信息而不仅仅是数据表。理想情况下,我也会为每个类别生成标签(而不是对它们进行硬编码并相应地过滤)。
下面是一个可重现的代码,用于将数据呈现为表格。我想将每一行渲染为一个信息框,或者比数据表更可视的东西,以及可能在其自己的选项卡中的每个类别。
library(shiny); library(shinydashboard)
library(plyr);library(dplyr)
apps_directory <- data.frame(category = c('Movies','Books','Movies','Movies','Books'),
title = c('Lord of the Rings','Neverending story','Batman','Superman','The little prince'),
description = c('This..', 'This..', 'This..', 'This..', 'This..'),
icon = c('rocket', 'rocket', 'rocket', 'rocket','rocket'),
PageURL = c('http://www.google.com', 'http://www.google.com', 'http://www.google.com','http://www.google.com','http://www.google.com'))
#add html link tags
apps_directory$PageURL <- paste0("<a href='",apps_directory$PageURL,"'>",apps_directory$PageURL,"</a>")
header <- dashboardHeader(disable = TRUE)
sidebar <- dashboardSidebar(disable = TRUE)
body <- dashboardBody(
tableOutput("view")
)
server <- function(input, output) {
output$view <- renderTable({apps_directory}
, sanitize.text.function = function(x) x)
}
ui <- dashboardPage(header = header,
sidebar = sidebar,
body = body
)
shinyApp(ui, server)
谢谢!
答案 0 :(得分:0)
希望这可能对你有所帮助;)
A 2
B 2
C 1