我有以下数据框
df<-data.frame("A"<-c(1:5), 'B'<-c("a", 'b', 'c', 'd', 'e'))
names(df)<-c('A', "B")
我在R闪亮的UI中创建了一个选择框,并且还为服务器编写了如下代码。
ui<- fluidPage(
selectInput(inputId = "input", label = "No of days elapsed", choices =
c(0:1000), selected = T, multiple =F
),mainPanel(verbatimTextOutput("Output1")))
server<-function(input, output){text<-reactive({number<-input$input
number<-as.numeric(number)
Y<-function(X){if(X<5){
A<-df[!df$A==X,]} else {A<-df[df$A==(X-3),]}
return (A)}
out1<-Y(number)
})
renderPrint({text()$B})
}
shinyApp(ui, server)
代码生成选择框。但是,当我使用该框并选择一个数字时,没有输出。也没有出现错误。我不确定我的错误在哪里
答案 0 :(得分:2)
您的代码存在一些问题:
verbatimTextOutput("Output1")
,但未定义output$Output1
。verbatimTextOutput
,而您似乎想要输出表格,因此您应该使用dataTableOutput
。下面显示了一个工作示例。希望这有帮助!
Y<-function(X){if(X<5){
A<-df[!df$A==X,]} else {A<-df[df$A==(X-3),]}
return (A)}
df<-data.frame("A"<-c(1:5), 'B'<-c("a", 'b', 'c', 'd', 'e'))
names(df)<-c('A', "B")
ui<- fluidPage(
selectInput(inputId = "input", label = "No of days elapsed", choices =
c(0:1000), selected = T, multiple =F ),
mainPanel(dataTableOutput("Output1"))
)
server<-function(input, output){
text<-reactive({
number<-input$input
number<-as.numeric(number)
out1<-Y(number)
})
output$Output1 <- renderDataTable({text()})
}
shinyApp(ui, server)
答案 1 :(得分:1)
这是我犯了错误的地方。
ui<- fluidPage(
selectInput(inputId = "input", label = "No of days elapsed", choices =
c(0:1000), selected = T, multiple =F
),mainPanel(verbatimTextOutput("Output1")))
server<-function(input, output){text<-reactive({number<-input$input
number<-as.numeric(number)
Y<-function(X){if(X<5){
A<-df[!df$A==X,]} else {A<-df[df$A==(X-3),]}
return (A)}
out1<-Y(number)
} )
**output$Output1<-renderPrint({text()$B})**
}
shinyApp(ui, server)
生成了输出。我没有正确分配输出