我有3个selectInput框和4个选项池,可以通过这3个框选择.我希望selectInputs显示的选项在选择其他selectInput时动态更改.但是我想在所有三个盒子的所有时间点都可以使用"NONE"选项.我正在使用的代码是
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic selectInput"),
dashboardSidebar(
sidebarMenu(
menuItemOutput("menuitem")
)
),
dashboardBody(
uiOutput('heirarchy1'),
uiOutput('heirarchy2'),
uiOutput('heirarchy3')
)
)
server <- function(input, output) {
output$menuitem <- renderMenu({
menuItem("Menu item", icon = icon("calendar"))
})
heirarchy_vector<-c("NONE","A","B","C")
output$heirarchy1<-renderUI({
selectInput("heir1","Heirarchy1",c("NONE",setdiff(heirarchy_vector,c(input$heir2,input$heir3))),selected="NONE")
})
output$heirarchy2<-renderUI({
selectInput("heir2","Heirarchy2",c("NONE",setdiff(heirarchy_vector,c(input$heir1,input$heir3))),selected="NONE")
})
output$heirarchy3<-renderUI({
selectInput("heir3","Heirarchy3",c("NONE",setdiff(heirarchy_vector,c(input$heir1,input$heir2))),selected="NONE")
})
}
shinyApp(ui, server)
Any help on this will be greatly appreciated
Run Code Online (Sandbox Code Playgroud)
编辑
为此,我尝试使用updateSelectInput.但是代码似乎没有运行
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic selectInput"),
dashboardSidebar(
sidebarMenu(
menuItemOutput("menuitem")
)
),
dashboardBody(
selectInput("heir1","Heirarchy1",c("NONE","A","B","C"),selected="NONE"),
selectInput("heir2","Heirarchy2",c("NONE","A","B","C"),selected="NONE"),
selectInput("heir3","Heirarchy3",c("NONE","A","B","C"),selected="NONE")
)
)
server <- …
Run Code Online (Sandbox Code Playgroud) 我有一个闪亮的应用程序,它选择xlsx/csv文件并将其上传到系统,上传后,我希望填充我提取到selectInput()
或的数据表的列名称selectizeInput()
.
以下代码表示用户上载数据文件的事件
ui.R
library(markdown)
require(XLConnect)
shinyUI(navbarPage(img(class="img-polaroid",
src=paste0("http://www.iconsdb.com/icons/preview/black/stackoverflow-5-xl.png")),
tabPanel("Table",
titlePanel("Select Data"),
sidebarLayout(
sidebarPanel(
selectInput("fileType", "Select File Type:",
c("MS Excel Worksheet (xls,xlsx)" = "xls",
"Text/CSV (.csv)" = "csv"
)
),
fileInput('file1', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'text/tab-separated-values',
'text/plain',
'.csv',
'.tsv',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'.xlsx',
'.xls'
)
),
tags$hr(),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
','),
radioButtons('quote', 'Quote',
c(None='',
'Double Quote'='"',
'Single Quote'="'"),
'"'),
tags$hr()
),
mainPanel(
dataTableOutput('table')
)
)
), …
Run Code Online (Sandbox Code Playgroud) 我不太喜欢Shiny中的数据表功能,我对创建一个可列出数据表的所有列并允许用户选择要在数据表上查看的列的井面板或侧面板感兴趣。
现在,下面的代码显示玩具数据集的所有列 mtcars
library(shiny)
runApp(list(
ui = basicPage(
h2('The mtcars data'),
dataTableOutput('mytable')
),
server = function(input, output) {
output$mytable = renderDataTable({
mtcars
})
}
))
Run Code Online (Sandbox Code Playgroud)
我有兴趣向用户提供使用复选框打开或关闭这些列的功能
[1] "mpg" "cyl" "disp" "hp" "drat"
[6] "wt" "qsec" "vs" "am" "gear"
[11] "carb"
Run Code Online (Sandbox Code Playgroud)
解决这个问题的任何帮助都非常有用。提前致谢。