出于某种原因,Shiny认为我的renderUI
不存在。代码非常简单。我们有一个客户数据框:
DF_custs <- data.frame(ID=c(1,2,3,3), val=c(10, 20, 100, 200))
。
您只需选择一个ID并获取值:
但我想实现一种方法,在下拉列表中将值发送回用户。所以我继续renderUI
。
问题在于
output$dupes<-renderUI({selectInput('dupes', 'These are dupes:', choices=get_cust()$val, selected=get_cust()$val[1,])})
此行允许您查看,例如,ID 3
有val
的两个值。这两个值将填充下拉列表。后来我希望能够建立起来,但是现在这就是我要做的。非常简单。
我不断收到错误Error in output$dupes <- renderUI({ : object 'output' not found
。
一切看起来都不错。我有一个renderUI
,它与uiOutput
相关联。我没有看到任何语法问题,也没有遗漏参数。什么可能出错?
DF_custs <- data.frame(ID=c(1,2,3,3), val=c(10, 20, 100, 200))
server <- function(input, output, session) {
get_cust <- reactive({
cust <- DF_custs[which(DF_custs$ID == input$num), ]
return(cust$val)})
output$result <- renderText({
ans <- get_cust()
paste("Your value: ", ans)})
}
output$dupes<-renderUI({
selectInput('dupes', 'These are dupes:', choices=get_cust()$val, selected=get_cust()$val[1,])})
ui <- fluidPage(
numericInput(inputId="num", label="Pick an ID: ", value=1),
uiOutput("dupes"),
mainPanel(textOutput("result"))
)
shinyApp(ui = ui, server = server)
答案 0 :(得分:1)
尝试使用此server function
:
server <- function(input, output, session) {
get_cust <- reactive({
#cust <- DF_custs[which(DF_custs$ID == input$num), ]
#return(cust$val)
DF_custs
})
output$result <- renderText({
ans <- get_cust()[which(DF_custs$ID == input$num), "val"]
paste("Your value: ", ans)})
output$dupes<-renderUI({
selectInput('dupes', 'These are dupes:', choices=get_cust()$val, selected=get_cust()$val[1])
})
}