Как я могу решить эту ошибку: Ошибка в: объект типа «закрытие» не является подмножеством в блестящем приложении с использованием таблиц данных

Я делаю приложение с блестящим, и мне нужна таблица данных, которая реагирует на ввод, но когда я визуализирую таблицу данных, я получаю следующую ошибку

Ошибка: объект типа «замыкание» не является подмножеством

Это функция в server.R

  output$elites <- renderUI({
    req(input$iterationsElites)
    allElites <- iraceResults$allElites[[input$iterationsElites]]
    for(i in allElites)
    {
      bestConfiguration <- getConfigurationById(iraceResults, ids=i)
      print(bestConfiguration)
    }
    DT::renderDataTable({
      DT::datatable(
        bestConfiguration
      )
    })
  })

ui.R

      fluidRow(
          box(title = "Elite Configurations",
              status = "primary",
              numericInput("iterationsElites","Select Iteration",value = 1,min = 1,max = iraceResults$state$nbIterations),
              uiOutput("elites"),
              width = 15
          )
        ),

заранее спасибо

ИЗМЕНИТЬ

получитьконфигуратионбид:

  .ID. algorithm localsearch alpha beta  rho ants q0 rasrank elitistants nnls  dlb .PARENT.
7    7        as           0  4.96 0.81 0.27   32 NA      NA          NA   NA <NA>       NA
   .ID. algorithm localsearch alpha beta  rho ants q0 rasrank elitistants nnls dlb .PARENT.
52   52        as           1  0.35 6.72 0.11   92 NA      NA          NA    8   0       NA
   .ID. algorithm localsearch alpha beta  rho ants q0 rasrank elitistants nnls dlb .PARENT.
73   73        as           3  0.61 2.29 0.66   34 NA      NA          NA   22   1       NA
   .ID. algorithm localsearch alpha beta  rho ants q0 rasrank elitistants nnls dlb .PARENT.
67   67      mmas           3  2.73 7.98 0.97   34 NA      NA          NA   41   0       NA
   .ID. algorithm localsearch alpha beta  rho ants q0 rasrank elitistants nnls dlb .PARENT.
58   58       eas           2  0.32 2.97 0.72   80 NA      NA          58    6   1       NA

Переменная allElites содержит идентификатор для получения конфигурации через функцию getConfigurationByID.

[1]  7 52 73 67 58

Спасибо за ответы


person Jose Pablo Arancibia Linker    schedule 12.11.2019    source источник
comment
Кажется, это дубликат Что такое ошибка «объект типа «замыкание» не является подмножеством» в Shiny?   -  person dcarlson    schedule 13.11.2019
comment
Вам будет легче помочь, если вы включите простой воспроизводимый пример с образцом ввода и желаемым выводом, которые можно использовать для тестирования и проверки возможных решений. Откуда берутся такие функции, как getConfigurationById? Я не думаю, что вы хотите вкладывать renderDataTable в renderUI   -  person MrFlick    schedule 13.11.2019
comment
Это выглядит подозрительно: allElites <- iraceResults$allElites[[input$iterationsElites]]. Да, вы должны предоставить нам свои данные.   -  person Vitali Avagyan    schedule 13.11.2019
comment
allElites — это кадр данных из библиотеки IRACE. Как я могу отобразить данные, если у меня есть данные в переменной bestConfiguration? Я застрял.   -  person Jose Pablo Arancibia Linker    schedule 13.11.2019


Ответы (1)


"Объект замыкания типа" означает функцию. Сообщение об ошибке означает, что вы пытаетесь создать подмножество (т.е. использовать $ или квадратные скобки) функции, что, очевидно, не имеет смысла.

Так что просмотрите свой код в поисках объектов, которые кажутся подмножественными объектами данных, но на самом деле имеют имя функции, и вы найдете свою проблему.

Часто эта ошибка является результатом неправильного написания имени объекта данных. Обратите внимание, что если вы определяете объект данных, используя имя существующей функции, R сначала найдет объект данных. Но если попытаться создать подмножество объекта данных, который вы назвали «Сумма», и обратиться к нему как к «сумме» (имя встроенной функции), вы получите эту ошибку.

person user10521254    schedule 13.11.2019