我是Rshiny的新手,如何在侧栏中创建动态面板?我这样做,但是如果还有其他建议不能这样做?图书馆(闪亮)
shinyUI(fluidPage(theme="style.css",
# Application title
titlePanel("RNAseq app R "),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'text/tab-separated-values',
'text/plain',
'.csv',
'.tsv'
)
),
tags$hr(),
navlistPanel(
tabPanel("Quality Control"),
tabPanel("Trimming"),
tabPanel("Alignement")
)
)
,
mainPanel(
)
)))
服务器
library(shiny)
shinyServer(function(input, output) {
})
您可以使用conditionalPanel
它,在我的示例中,我也使用shinydashboard
它,因为它更好
rm(list = ls())
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Basic Dashboard"),
dashboardSidebar(
sidebarMenu(id="menu1",
menuItem("Panel 1", tabName = "name1", icon = icon("th")),
menuItem("Input A file", tabName = "name2", icon = icon("th")),
conditionalPanel(
condition = "input.menu1 == 'name2'",
fileInput('file1', 'Choose file to upload',
accept = c('text/csv', 'text/comma-separated-values', 'text/tab-separated-values','text/plain', '.csv','.tsv')),
selectInput("slider_test", "Some Dynamic Slider", choices = list("Years" = 1, "Months" = 2))
),
menuItem("Panel 3", tabName = "name1", icon = icon("th"))
)
),
dashboardBody())
server <- function(input, output) {}
shinyApp(ui, server)
编辑:使用shinyBS
包上传弹出窗口
rm(list = ls())
library(shiny)
library(shinydashboard)
library(shinyBS)
ui <- dashboardPage(
dashboardHeader(title = "Basic Dashboard"),
dashboardSidebar(
sidebarMenu(id="menu1",
menuItem("Panel 1", tabName = "name1", icon = icon("th")),
menuItem("Input A file", tabName = "name2", icon = icon("th")),
bsButton("upload", label = "Upload A file", block = TRUE, style="success"),
bsModal("upload_popup", "Upload a File", "upload", size = "small",
fileInput('file2', 'Choose file to upload',accept = c('text/csv', 'text/comma-separated-values', 'text/tab-separated-values','text/plain', '.csv','.tsv')),
bsButton("some_button", label = "Do Something Else", block = TRUE, style="success"))
),
conditionalPanel(
condition = "input.menu1 == 'name2'",
fileInput('file1', 'Choose file to upload',
accept = c('text/csv', 'text/comma-separated-values', 'text/tab-separated-values','text/plain', '.csv','.tsv')),
selectInput("slider_test", "Some Dynamic Slider", choices = list("Years" = 1, "Months" = 2))
)
),
dashboardBody())
server <- function(input, output) {}
shinyApp(ui, server)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句