Встраивание radioButtons и checkboxInputs в табличном формате [блестящий R] - PullRequest
0 голосов
/ 02 июня 2019

В моем приложении я бы хотел, чтобы пользователь выбрал диапазон входных данных и создал выходные данные. У меня это работает, однако мои опции ввода занимают много места и не очень удобны для пользователя. Есть ли способ в сиянии либо: 1. Сжать / сжать входной размер 2. Имеются ли различные типы ввода в виде таблицы (матричный стиль?)

Я пытался использовать комбинацию fluidRow() и column(), чтобы она выглядела как таблица. Но это занимает много места. Ниже часть моего кода. Однако у меня есть 11 таких строк с одинаковыми параметрами во всех столбцах.

ui <- navbarPage(
  title = "Dummy",
  tabPanel(
    tags$b("Input table"),
    fluidRow(column(8,
                    textInput("name", h3("Name"), 
                              value = "A"),
                    numericInput("area", "Area", value = 0)
    )),

    hr(),

    fluidRow(column(3,
                    h4("Category")),

             column(2,
                    h4("number1")),
             column(3,
                    h4("checkbox options")),
             column(2,
                    h4("radiobuttons")),
             column(2,
                    h4("number2%"))
    ),
    hr(),

    ### AAAA #####
    fluidRow(column(3,
                    h4("AAAA")),
             column(2,
                    numericInput("aaaal", "", value = 0, max = 100)),
             column(1,
                    checkboxInput("aaaamlc", "selectthis", value= F)),
             column(2,
                    checkboxInput("aaaamli", "selectthis", value= F)),
             column(2,
                    radioButtons("aaaas", "", choices = list("option 1" = 1,
                                                               "option 2" = 2,
                                                               "None" = 3),
                                 selected = 3, inline = F)),
             column(2,
                    numericInput("aaaat", "", value = 0, max = 100))
    ),
    ### BBBB #####
    fluidRow(column(3,
                    h4("BBBB")),
             column(2,
                    numericInput("bbbbl", "", value = 0, max = 100)),
             column(1,
                    checkboxInput("bbbbmlc", "selectthis", value= F)),
             column(2,
                    checkboxInput("bbbbmli", "selectthis", value= F)),
             column(2,
                    radioButtons("bbbbs", "", choices = list("Option 1" = 1,
                                                               "Option 2" = 2,
                                                               "None" = 3), 
                                 selected = 3, inline = F)),
             column(2,
                    numericInput("bbbbt", "", value = 0, max = 100))
    ),

    ### CCCC ####
    fluidRow(column(3,
                    h4("CCCC")),
             column(2,
                    numericInput("ccccl", "", value = 0, max = 100)),
             column(1,
                    checkboxInput("ccccmlc", "Low Cu/Zn", value= F)),
             column(2, h5("")),
             column(2,
                    radioButtons("ccccs", "", choices = list("Option 1" = 1,
                                                                "Option 2" = 2,
                                                                "None" = 3),
                                 selected = 3, inline = F)),
             column(2,
                    numericInput("cccct", "", value = 0, max = 100))
    ),


    ### DDDD ####
    fluidRow(column(3,
                    h4("DDDD")),
             column(2,
                    numericInput("ddddl", "", value = 0, max = 100))
    ),
    hr(),
    ##### final action button ####
    actionButton("do",h3(tags$b("calculate")), 
                 width = "600px"),

    hr()

    ))


server <- function(input, output, session) {
  print("hello")
}

shinyApp(ui = ui, server = server)
...