Я пытаюсь создать матрицу действий кнопок пользовательского интерфейса, которые увеличиваются в значении на единицу при нажатии (счетчик с различным значением для каждой кнопки через ObserveEvent). Я хотел бы получить доступ к этим значениям в R после закрытия моего блестящего приложения в виде матрицы для целей спортивного поиска. До сих пор я создавал отдельную переменную для каждой кнопки и копировал, вставлял одну и ту же функцию счетчика снова и снова. Но очевидно, что это приводит к уродливому коду и долгому ожиданию при запуске, даже если это работает. Я хотел бы сократить свой код, создав al oop в серверной части, возможно, выполнив матрицу этих значений «хранилища» и заставив l oop добавить единицу к значениям, когда кнопка соответствующего действия активирована в UI. Я включил свой код ниже, будьте добры, я не программист и у меня мало опыта! Спасибо.
a_OH1_z1_q1 <- 0
ui <- fluidPage(
navbarPage(
"Scouting",
id = "navtab",
tabPanel("Attack",
navlistPanel(
tabPanel('OH1',
mainPanel(
tags$b("______1____________2____________3_____________4______"),
br(),
actionButton("aOH1z1q1", a_OH1_z1_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z1q2", a_OH1_z1_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z1q3", a_OH1_z1_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z1q4", a_OH1_z1_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
br(),
actionButton("aOH1z2q1", a_OH1_z2_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z2q2", a_OH1_z2_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z2q3", a_OH1_z2_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z2q4", a_OH1_z2_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
br(),
actionButton("aOH1z3q1", a_OH1_z3_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z3q2", a_OH1_z3_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z3q3", a_OH1_z3_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z3q4", a_OH1_z3_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
br(),
actionButton("aOH1z4q1", a_OH1_z4_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z4q2", a_OH1_z4_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z4q3", a_OH1_z4_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z4q4", a_OH1_z4_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
br(),
actionButton("aOH1z5q1", a_OH1_z5_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z5q2", a_OH1_z5_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z5q3", a_OH1_z5_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z5q4", a_OH1_z5_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
br(),
actionButton("aOH1z6q1", a_OH1_z6_q1,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z6q2", a_OH1_z6_q2,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z6q3", a_OH1_z6_q3,
style = "width: 100px; height:100px; background-color:blue; color:white;"),
actionButton("aOH1z6q4", a_OH1_z6_q4,
style = "width: 100px; height:100px; background-color:blue; color:white;")
)
)
)
)
)
)
server <- function(input, output, session) {
observeEvent(
input$aOH1z1q1,{
a_OH1_z1_q1 <<- a_OH1_z1_q1 + 1
updateActionButton(session,"aOH1z1q1",label = a_OH1_z1_q1)
}
)
}
shinyApp(ui,server)