R闪亮的无功输出不显示

时间:2018-04-18 09:37:57

标签: r shiny output

我有以下数据框

  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)

代码生成选择框。但是,当我使用该框并选择一个数字时,没有输出。也没有出现错误。我不确定我的错误在哪里

2 个答案:

答案 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)

生成了输出。我没有正确分配输出