¿Cómo crear una tabla de renderización dinámica Shiny R, con una serie de tablas determinadas por los archivos CSV cargados?

Estoy creando una aplicación web que, después de cargar archivos csv, transforma los datos y luego debería poder generar pocas tablas. El número de tablas depende estrictamente de la información incluida en los archivos csv, por lo tanto, se calcula durante el proceso de transformación de datos. He creado una listalst con marcos de datos que deben ser emitidos. La longitud de la lista es el número de tablas que se deben crear. Después de buscar en la web me encontré con una pregunta muy similar (aquí), que lamentablemente aún no se ha respondido. ¿Alguien tiene una idea de cómo resolverlo?

Parte de mi código (no todo, debido a una importante transformación de datos), donde me gustaría reemplazar fijomax_table con variablelength(data_set()):

library(shiny)

ui <- fluidPage(
  fluidRow(column(3,
                  wellPanel(
                    fileInput(inputId = "files",
                              label = "Choose cvs files",
                              accept=c('text/csv', 
                                       'text/comma-separated-values,text/plain', 
                                       '.csv'),
                              multiple = TRUE))),
           column(5, offset = 1, 
                  uiOutput("tables")
                  )
           )
  )

max_table <- 5
server <- function(input,output){


  data_set <- reactive({
    if(is.null(input$files)){
      return(NULL)
    }

    lst <- list()
    for(i in 1:length(input$files[,1])){
      lst[[i]] <- read.csv(input$files[[i, 'datapath']], sep = ",", header = TRUE, skip = 4, dec = ".")
    }
    lst
  })

  output$tables <- renderUI({
    plot_output_list <- lapply(1:max_table, function(i) {
      tablename <- paste("tablename", i, sep="")
      tableOutput(tablename)
    })
    do.call(tagList, plot_output_list)
  })


  for (i in 1:max_table){
    local({
      my_i <- i
      tablename <- paste("tablename", my_i, sep="")
      output[[tablename]] <- renderTable({data_set()[[my_i]] 
      })
    })    
  }
}

shinyApp(ui = ui, server = server)

Cualquier ayuda sería muy apreciada!

Respuestas a la pregunta(1)

Su respuesta a la pregunta