Returns 根据ID点击菜单后的DF信息(闪亮)
Returns DF information after clicking menu based on ID (Shiny)
在下面的 Shiny 代码中,我需要使用选定的菜单 ID return 到 dashboardBody()“您选择了 'name'”。
对当前代码的改进将不胜感激,我正在学习并将我的 R 脚本项目迁移到 Shiny。
library(shiny)
library(shinydashboard)
labels = data.frame(id = c(seq.int(nrow(mtcars))),
name = c(rownames(mtcars)))
##### UI #####
ui <- dashboardPage(
dashboardHeader(title = "Example"),
dashboardSidebar(
sidebarMenu(id="mytabs",
sidebarMenuOutput("menu"))
),
dashboardBody()
)
##### SERVER #####
server <- function(input, output, session) {
output$menu <- renderMenu({
myTabs = lapply(1:nrow(labels) , function(i) {
menuItem(labels$name[i], tabName = labels$id[i])
})
do.call(sidebarMenu, myTabs)
})
}
##### Run the application #####
shinyApp(ui = ui, server = server)
这可以这样实现:
- 您可以通过
input$mytabs
和 获取所选菜单项的id
- 标签来自
labels$name[as.integer(input$mytabs)]
library(shiny)
library(shinydashboard)
labels = data.frame(id = c(seq.int(nrow(mtcars))),
name = c(rownames(mtcars)))
##### UI #####
ui <- dashboardPage(
dashboardHeader(title = "Example"),
dashboardSidebar(
sidebarMenu(id="mytabs",
sidebarMenuOutput("menu"))
),
dashboardBody(
textOutput("text")
)
)
##### SERVER #####
server <- function(input, output, session) {
output$menu <- renderMenu({
myTabs = lapply(1:nrow(labels) , function(i) {
menuItem(labels$name[i], tabName = labels$id[i])
})
do.call(sidebarMenu, myTabs)
})
output$text <- reactive({
req(input$mytabs)
paste("You chose", labels$name[as.integer(input$mytabs)])
})
}
##### Run the application #####
shinyApp(ui = ui, server = server)
在下面的 Shiny 代码中,我需要使用选定的菜单 ID return 到 dashboardBody()“您选择了 'name'”。 对当前代码的改进将不胜感激,我正在学习并将我的 R 脚本项目迁移到 Shiny。
library(shiny)
library(shinydashboard)
labels = data.frame(id = c(seq.int(nrow(mtcars))),
name = c(rownames(mtcars)))
##### UI #####
ui <- dashboardPage(
dashboardHeader(title = "Example"),
dashboardSidebar(
sidebarMenu(id="mytabs",
sidebarMenuOutput("menu"))
),
dashboardBody()
)
##### SERVER #####
server <- function(input, output, session) {
output$menu <- renderMenu({
myTabs = lapply(1:nrow(labels) , function(i) {
menuItem(labels$name[i], tabName = labels$id[i])
})
do.call(sidebarMenu, myTabs)
})
}
##### Run the application #####
shinyApp(ui = ui, server = server)
这可以这样实现:
- 您可以通过
input$mytabs
和 获取所选菜单项的id
- 标签来自
labels$name[as.integer(input$mytabs)]
library(shiny)
library(shinydashboard)
labels = data.frame(id = c(seq.int(nrow(mtcars))),
name = c(rownames(mtcars)))
##### UI #####
ui <- dashboardPage(
dashboardHeader(title = "Example"),
dashboardSidebar(
sidebarMenu(id="mytabs",
sidebarMenuOutput("menu"))
),
dashboardBody(
textOutput("text")
)
)
##### SERVER #####
server <- function(input, output, session) {
output$menu <- renderMenu({
myTabs = lapply(1:nrow(labels) , function(i) {
menuItem(labels$name[i], tabName = labels$id[i])
})
do.call(sidebarMenu, myTabs)
})
output$text <- reactive({
req(input$mytabs)
paste("You chose", labels$name[as.integer(input$mytabs)])
})
}
##### Run the application #####
shinyApp(ui = ui, server = server)