2013-11-21 2 views
0

Я бегу следующий код в server.R. «COL_OP1» и «COL_OP2» - это два столбца в кадре данных «df» (есть и другие столбцы). Я хотел бы генерировать динамические флажки в ui.R, используя uiOutput('op1'), который работает нормально, но показывает предупреждения и ошибки.Предупреждения/ошибки в shiny.R renderUI checkboxGroupInput динамическая генерация

У op1 есть несколько вариантов, и на основе этого op2 должны генерироваться флажки.

Предупреждение является

"Warning in is.na(e2) : 
    is.na() applied to non-(list or vector) of type 'NULL'" 

Ошибка

"Error in mapply(ids, choices, names(choices), SIMPLIFY = FALSE, USE.NAMES = FALSE, : 
    zero-length inputs cannot be mixed with those of non-zero length" 

Вот мой код:

output$op1 = renderUI({ 
    op1 = unique(df()$COL_OP1) 
    op1 = op1[order(op1)] 
    checkboxGroupInput('OP1', 'Choose OP1', op1, selected = op1) 
    }) 

    output$op2 <- renderUI({ 
    op2 = unique(df()[df()$COL_OP1==input$OP1,]$COL_OP2) 
    op2 = op2[order(op2)] 
    checkboxGroupInput('OP2', 'Choose OP2',op2, selected = op2) 
    }) 
+1

Можете ли вы, пожалуйста, сделать свой пример воспроизводимым? что такое 'df'? что такое 'supv'? – agstudy

+0

Похоже, что в 'df $ COL_OP' ничего нет. –

+0

df() - это рекурсивный вывод, который является кадром данных. – BigDataScientist

ответ

0

Следующий код снял ошибку, и я подавил предупреждения о вреде для

output$op1 = renderUI({ 
    op1 = unique(df()$COL_OP1) 
    op1 = op1[order(op1)] 
    checkboxGroupInput('OP1', 'Choose OP1', op1, selected = op1) 
    }) 

    output$op2 <- renderUI({ 
    if(is.null(input$OP1)) 
     return(NULL) 
    op2 = suppressWarnings(unique(df()[df()$COL_OP1==input$OP1,]$COL_OP2)) 
    op2 = op2[order(op2)] 
    checkboxGroupInput('OP2', 'Choose OP2',op2, selected = op2) 
    }) 

 Смежные вопросы

  • Нет связанных вопросов^_^