R Brilhante armazena a entrada do usuário de vários campos textAreaInput gerados dinamicamente em um objeto na parte do servidor

Novoshiny e lutando com isso por mais de dois dias agora. Eu criei um aplicativo em que o usuário carrega.csv arquivo de dados e escolhe uma ou mais variáveis cujos nomes aparecem no aplicativo como caixas de seleção. Quando uma caixa de seleção está marcada, uma nova caixa de seleção aparece sob o mesmo nome e, quando é clicada também, umatextAreaInput aparece ao lado, onde o usuário pode adicionar nomes de variáveis que constituem a variável de destino como uma escala. Aqui está uma versão simplificada do aplicativo:

library(shiny)

ui <- fluidPage(

  mainPanel(
    fileInput(inputId = "file", label = "Choose File", multiple = TRUE, accept = ".csv"),
    uiOutput(outputId = "varCheckBoxesIndivScores"),

    column(width = 3,
           uiOutput(outputId = "selectedScoresCheckBoxes")),

    conditionalPanel(condition = "input.selectedScoresCheckBoxes",
                     column(width = 6,
                            uiOutput(outputId = "variablesConstitutingScale"))
    )
  )
)

server = function(input, output, session) {

  df <- reactive({
    if(is.null(input$file)) {
      return(NULL)
    } else {
      tbl <- fread(input$file$datapath, stringsAsFactors = TRUE)
      return(tbl)
    }
  })

  output$varCheckBoxesIndivScores <- renderUI({
    if(is.null(df())) {
      return(NULL)
    } else if(!is.null(df())) {
      return(tags$div(align = "left",
                      class = "multicol",
                      checkboxGroupInput(inputId = "varCheckBoxesIndivScores",
                                         label = "Select variables",
                                         choices = colnames(df()))))
    }
  })

  output$selectedScoresCheckBoxes <- renderUI({
    if(is.null(df())) {
      return(NULL)
    } else if(!is.null(df())) {
      return(tags$div(align = "left",
                      checkboxGroupInput(inputId = "selectedScoresCheckBoxes",
                                         label = "",
                                         choices = input$varCheckBoxesIndivScores)))
    }
  })

  output$variablesConstitutingScale <- renderUI({
    if(is.null(df())) {
      return(NULL)
    } else if(!is.null(df()) & length(input$selectedScoresCheckBoxes > 0)) {
      var.list.input.fields <- lapply(input$selectedScoresCheckBoxes, function(i) {
        textAreaInput(inputId = "i", label = paste("Variables constituting scale", i), width = "700px", height = "100px", value = NULL)
      })
      var.list.input.fields
    }
  })

}

shinyApp(ui = ui, server = server)

Os dados a serem carregados são gerados assim (apenas um trecho, o real tem mais colunas e casos):

library(data.table)

x <- data.table(ID = c(2201:2220), VAR1 = rnorm(n = 20, mean = 10, sd = 2),
VAR2 = rnorm(n = 20, mean = 100, sd = 20), VAR3 = 1:20, VAR4 = 21:40,
VAR5 = 41:60, VAR6 = 61:80, VAR7 = 81:100)

write.csv(x = x, file = "/tmp/test_data.csv", row.names = FALSE)

Funciona bem, sem erros. Aqui está como fica, depois de inserir os nomes das variáveis em cada um dostextAreaInput&nbsp;Campos:

No entanto, gostaria de receber a entrada do usuário de cada gerado dinamicamentetextAreaInput&nbsp;e armazene-o em uma lista como:

list(VAR1 = "VAR3 VAR4 VAR5", VAR2 = "VAR6 VAR7")

ou

list(VAR1 = "VAR3", "VAR4", "VAR5", VAR2 = "VAR6", "VAR7")

dentro da parte do servidor do aplicativo para uso futuro.

Eu tentei seguir a solução emesta&nbsp;thread, mas não consegui chegar a nenhuma solução e me sinto bastante confuso. Alguém pode ajudar?