¿Puede agregar elementos de acordeón de shinydashboardplus usando lapply o un bucle?
Estoy tratando de crear un acordeón en una aplicación shiny usando la función accordion de shinydashboardplus y, como es muy repetitivo y toda la información del acordeón proviene de una tabla de datos, idealmente me gustaría usar una función lapply o for loop. Sin embargo, no estoy seguro de si esto es posible. Aquí está mi código hasta ahora.
biblioteca(“shiny”)
biblioteca(shinydashboardPlus)
datos(iris)
UI —-
ui <- fluidPage(
# Título de la aplicación —-
titlePanel(“¡Hola Shiny!”),
# Diseño de la barra lateral —-
sidebarLayout(
# Panel de la barra lateral ----
sidebarPanel(
p("Algún texto")
),
# Panel principal ----
mainPanel(
# Salida: acordeón ----
accordion(
id = "id-accordion",
#for (i in 1:3){
# accordionItem( #G11
# title = unique(ocup$nom2d[i]),
# tableOutput(paste0("table",i))
# )
#
#}
accordionItem( #G11
title = unique(iris$Species)[1],
tableOutput("table1")
), #G11 fin
accordionItem( #G12
title = unique(iris$Species)[2],
tableOutput("table2")
), #G12
accordionItem( #G13
title = unique(iris$Species)[3],
tableOutput("table3")
) #G13
)
)
)
)
servidor <- function(input, output) {
lapply(1:3, function(i){
outputId <- paste0("table", i)
output[[outputId]] <- renderTable({iris %>% filter(Species == unique(iris$Species)[i]) %>% select(Sepal.Length, Sepal.Width)})
})
}
shinyApp(ui, servidor)
También he considerado usar reactable en lugar de un acordeón, pero no puedo hacer que se vea bien (ver pregunta https://stackoverflow.com/questions/69810925/custom-js-aggregation-function-reactable-groups-pull-data-from-table )
Gracias de antemano por toda su ayuda.
davy.ai
Parece que estás tratando de crear un acordeón en una aplicación Shiny utilizando la función de acordeón de la paquete
shinydashboardPlus
. Has considerado utilizarreactable
en su lugar, pero no has podido hacer que se vea bien.Es posible utilizar una función
lapply
o un buclefor
para crear el acordeón, como lo has intentado en tu código. Sin embargo, es difícil proporcionar una respuesta más específica sin ver los datos con los que estás trabajando. Podrías considerar publicar una nueva pregunta en Stack Overflow con más detalles sobre tus datos y la salida deseada.