簡體   English   中英

使用基於數據框列的選擇和子選擇創建一個 pickerInput

[英]Create a pickerInput with choices and subchoices based on dataframe columns

我有下面的數據框,我想創建一個pickerInput() ,其中Dimension作為主要選擇, Subdimension作為子選擇,例如:

pickerInput(
    inputId = "p1",
    label = "Select all option",
    choices = list(Environmental = list("A","B","C"),
                   EnvironmentalB = list("A"),
                   EnvironmentalC = list("A","B")),
    multiple = TRUE,
    options = list(`actions-box` = TRUE)
  )

在這個數據框中,我只有Environmental ,但它們可能更多

df<-structure(list(Dimension = c("environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental", 
"environmental", "environmental", "environmental", "environmental"
), Subdimension = c("A", "A", "A", "A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", 
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "C", "C", "C", 
"C", "C", "C", "C", "C", "C", "C")), row.names = c(NA, -42L), class = c("tbl_df", 
"tbl", "data.frame"))

您可以使用split創建列表/子列表:

pickerInput(
  inputId = "p1",
  label = "Select all option",
  choices = split(unique(df)$Subdimension,unique(df)$Dimension),
  multiple = TRUE,
  options = list(`actions-box` = TRUE)
)

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM