Learn R Programming

ggvis (version 0.4.9)

input_select: Create interactive control to select one (or more options) from a list.

Description

  • input_radiobuttons only ever selects one value

  • input_checkboxgroup can alway select multiple values

  • input_select can select only one if multiple = FALSE, otherwise the user can select multiple by using modifier keys

Usage

input_select(
  choices,
  selected = NULL,
  multiple = FALSE,
  label = "",
  id = rand_id("select_"),
  map = identity,
  selectize = FALSE
)

input_radiobuttons( choices, selected = NULL, label = "", id = rand_id("radio_"), map = identity )

input_checkboxgroup( choices, selected = NULL, label = "", id = rand_id("radio_"), map = identity )

Arguments

choices

List of values to select from. If elements of the list are named, then that name --- rather than the value --- is displayed to the user. It's also possible to group related inputs by providing a named list whose elements are (either named or unnamed) lists, vectors, or factors. In this case, the outermost names will be used as the group labels (leveraging the <optgroup> HTML tag) for the elements in the respective sublist. See the example section for a small demo of this feature.

selected

The initially selected value (or multiple values if multiple = TRUE). If not specified then defaults to the first value for single-select lists and no values for multiple select lists.

multiple

Is selection of multiple items allowed?

label

Display label for the control, or NULL for no label.

id

A unique identifier for this input. Usually generated automatically.

map

A function with single argument x, the value of the control on the client. Returns a modified value.

selectize

Whether to use selectize.js or not.

See Also

Other interactive input: input_checkbox(), input_slider(), input_text()

Examples

Run this code
# Dropdown
input_select(c("a", "b", "c"))
input_select(c("a", "b", "c"), multiple = TRUE)
input_select(c("a", "b", "c"), selected = "c")

# If you want to select variable names, you need to convert
# the output of the input to a name with map so that they get
# computed correctly
input_select(names(mtcars), map = as.name)

# Radio buttons
input_radiobuttons(choices = c("Linear" = "lm", "LOESS" = "loess"),
                   label = "Model type")
input_radiobuttons(choices = c("Linear" = "lm", "LOESS" = "loess"),
                   selected = "loess",
                   label = "Model type")

# Used in layer_model_predictions
mtcars %>% ggvis(~wt, ~mpg) %>%
  layer_model_predictions(model = input_radiobuttons(
    choices = c("Linear" = "lm", "LOESS" = "loess"),
    selected = "loess",
    label = "Model type"))

# Checkbox group
mtcars %>% ggvis(x = ~wt, y = ~mpg) %>%
  layer_points(
    fill := input_checkboxgroup(
      choices = c("Red" = "r", "Green" = "g", "Blue" = "b"),
      label = "Point color components",
      map = function(val) {
        rgb(0.8 * "r" %in% val, 0.8 * "g" %in% val, 0.8 * "b" %in% val)
      }
    )
  )

Run the code above in your browser using DataLab