radioButtons(inputId, label, choices = NULL, selected = NULL,
inline = FALSE, width = NULL, choiceNames = NULL, choiceValues = NULL)
input
slot that will be used to access the value.NULL
for no label.choiceNames
and choiceValues
must not be provided, and vice-versa.TRUE
, render the choices inline (i.e. horizontally)'400px'
, or '100%'
;
see validateCssUnit
.choiceNames
and choiceValues
must have the same length). If either of these arguments is
provided, then the other must be provided and choices
must not be provided. The advantage of using both of these over
a named list for choices
is that choiceNames
allows any
type of UI object to be passed through (tag objects, icons, HTML code,
...), instead of just simple text. See Examples.selected = character(0)
. However, this is not recommended, as it gives
the user no way to return to that state once they've made a selection.
Instead, consider having the first of your choices be c("None selected"
= "")
.updateRadioButtons
Other input elements: actionButton
,
checkboxGroupInput
,
checkboxInput
, dateInput
,
dateRangeInput
, fileInput
,
numericInput
, passwordInput
,
selectInput
, sliderInput
,
submitButton
, textAreaInput
,
textInput
## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
radioButtons("dist", "Distribution type:",
c("Normal" = "norm",
"Uniform" = "unif",
"Log-normal" = "lnorm",
"Exponential" = "exp")),
plotOutput("distPlot")
)
server <- function(input, output) {
output$distPlot <- renderPlot({
dist <- switch(input$dist,
norm = rnorm,
unif = runif,
lnorm = rlnorm,
exp = rexp,
rnorm)
hist(dist(500))
})
}
shinyApp(ui, server)
ui <- fluidPage(
radioButtons("rb", "Choose one:",
choiceNames = list(
icon("calendar"),
HTML("<p style='color:red;'>Red Text</p>"),
"Normal text"
),
choiceValues = list(
"icon", "html", "text"
)),
textOutput("txt")
)
server <- function(input, output) {
output$txt <- renderText({
paste("You chose", input$rb)
})
}
shinyApp(ui, server)
}
Run the code above in your browser using DataLab