我在server.R
中运行以下代码。 “COL_OP1”和“COL_OP2”是数据帧“df”中的两列(还有其他列)。我想使用uiOutput('op1')
在ui.R中生成动态复选框,它工作正常,但显示警告和错误。
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)
})
答案 0 :(得分: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)
})