我需要帮助使用SQL查询来填充R闪亮复选框。
以下是完整代码和问题的具体说明:
library(shiny)
library(RODBC)
dbhandle <- odbcDriverConnect('driver={SQL Server};server="" ;database="";trusted_connection=true')
res <- sqlQuery(dbhandle, 'select name from analysis order by name asc')
shinyUI(fluidPage(
mainPanel(
textOutput("text1"),
checkboxGroupInput("checkGroup",
label = h3("Choose contracts"),
choices = res$name,
selected = NULL),
actionButton("action", label = "Create Portfolio EP")
)
))
library(shiny)
shinyServer(function(input, output) {
observe({
if(input$action>0 & input$action<=2){
valores<-renderText({
input$checkGroup
})
data<-unlist(strsplit(valores(), split=" "))
print(data)
}
})
})
问题是复选框会返回:
1
2
和sql中的sql结果如下:
name
1 a
2 b
所以看起来结果需要格式化为R才能正确捕获。
请问任何想法?
谢谢。
答案 0 :(得分:1)
如果您阅读了checkboxGroupInput的文档,则会为choices
参数
显示复选框的值列表。如果列表的元素是 然后命名该名称,而不是显示给用户的值。
所以你需要做的就是将sql结果转换为一个未命名的结构,或者手动将名称设置为NULL。