在其消失之前存储一个反应值

时间:2019-02-25 19:04:07

标签: r shiny

我是Shiny的新手,所以也许我对问题的诊断是错误的。我正在尝试创建一个界面,该界面允许用户递归创建模型,并在更改输入时对其进行更改。为此,我需要提取来自模型初始训练的信息,然后再次进行训练。更具体地说,我想使用一些特定索引并再次对其进行训练,但是每次尝试访问这些数字时,都会出现错误。

我的服务器现在是这样的:

    server <- shinyServer(function(input, output, session) {
  output$x12 = DT::renderDataTable(dataset[c(6,8)], server = FALSE)
  output$y12 = renderPrint(input$x12_rows_selected)

  index <- reactive({

      index <- input$x12_rows_selected

    return(index)
    })

  modelo <- eventReactive(input$do, {
    #Train model using indexes above
    return(modelo_svm)
  })
  pred <- eventReactive(input$do, {
    return(predict(modelo(), teste, type = 'prob')
    )})

  output$novos <- renderDataTable(
    dataset[which(pred()$sim > .7),c(6,8)])


  subset_data <- eventReactive(input$do, {
    dataset[which(pred()$sim <.7 & pred()$sim > .3), c(6,8)]
  })

  output$novos2 <- renderDataTable({
    subset_data()
  })


   # I want to take this "novos_index" and put it in the index() above.
  novos_index <- reactive({
    return(which(dataset$`Texto do Comentário` %in% subset_data()$`Texto do Comentário`[input$novos2_rows_selected]))
  })


})

我的看法是,我试图从某些信息中获取信息,而当我再次训练模型时,这些信息将消失,这就是问题的根源。有什么想法吗?

编辑

我更改了索引部分,并添加了我想包含的变量:

index <- reactive({
    index <- input$x12_rows_selected
    if(grepl("\\d", novos_index())){ #it checks if there are numbers in the element 
    index <- append(indices, novos_index())
    }
    return(index)
    })

但是它返回一条错误消息,指出: “重新采样的绩效指标中缺少价值。 错误:C堆栈使用率7969188太接近限制了”

0 个答案:

没有答案