R:输入错误?

R:输入错误?,r,shiny,R,Shiny,我有一个闪亮的应用程序,它有一个服务器和用户界面功能,如下所示: df<- read_csv(path_here) ui <- fluidPage( # App title ---- titlePanel("Histograms!"), # Sidebar layout with input and output definitions ---- sidebarLayout( # Sidebar panel for

我有一个闪亮的应用程序,它有一个
服务器
用户界面
功能,如下所示:

df<- read_csv(path_here)

ui <- fluidPage(
  
  # App title ----
  titlePanel("Histograms!"),
  
  # Sidebar layout with input and output definitions ----
  sidebarLayout(
    
    # Sidebar panel for inputs ----
    sidebarPanel(
      
      checkboxGroupInput("Company", 
                         "Company", 
                         choices = unique(df$Company)
                         ),
      checkboxGroupInput("predicted_condition", 
                         "Predicted Condition", 
                         choices = unique(df$Predicted.Condition)
      )
      ),
    
    # Main panel for displaying outputs ----
    mainPanel(
      
      # Output: Histogram ----
      plotOutput(outputId = "distPlot")
      
    )
  )
)  
server<- function( input, output, session){
  reactive_data <- reactive({
    df %>% 
      filter(Company %in% input$Company)%>%
      filter(Predicted.Condition %in% input$Predicted_Condition)%>%
      select(Predicted.Probability)
  })
  
  output$distPlot <- renderPlot({
    hist(reactive_data())
  })
}


df如果没有您的数据和ui,很难知道,但您似乎正在尝试从数据帧生成直方图。是的,您的列可能包含数值,但实际上您是在向下过滤到具有一列的数据帧,而不是数值向量。
试试这个:

server<- function( input, output, session){
  reactive_data <- reactive({
    filtered_dat <- df %>% 
      filter(Company %in% input$Company)%>%
      filter(Predicted.Condition %in% input$Predicted_Condition)

    return(filtered_dat$Predicted.Probability))
  })
  
  output$distPlot <- renderPlot({
    hist(reactive_data())
  })
}

server也许您可以与
dput()
共享一些示例数据以帮助您。
select
始终返回数据帧,使用
pull
获取向量。在没有看到示例数据的情况下,很难判断中断错误来自何处。我在
Predicted.Probability
列中运行了
dput
。最后几个条目是:
0.000703995、0.000594523、0.000214589、0.000145538、0.00028317、0.000564918、0.000354667、0.000280292、0.00017386、0.000207468、0.000323793、0.011153646)
在列上运行摘要会产生
min
0.0001
max
1.0000
,,但是我仍然得到了无效的中断次数。我已经将我的
ui
包含在原始帖子的编辑中。我也尝试过你的建议,但现在它给了我一个“无效的中断次数”错误。我知道一个事实,
预测.Probability
列中的每个条目都高于0。我甚至尝试了
return(as.numeric(filtered_dat$Predicted.Probability))
但仍然出现了中断错误。我猜您的数据没有按预期进行过滤<如果为其提供空向量或NA向量,则code>hist()
将给出该错误。例如,运行:
x仔细检查调用的输入是否与在
inputId
参数中定义的输入相同。例如,在您的问题中,您将输入定义为
“预测的\u条件”
,但随后在
服务器中说
过滤器(预测的.condition%在%input$predicted\u条件中)
它应该是
input$predicted\u条件