主动反应上下文中的错误-如何解决?

时间:2018-12-04 02:27:50

标签: r shiny

嘿,我正在尝试构建一个闪亮的应用程序,目的是计算出现违约的百分比,我认为我已解决了所有问题,直到点击

PropTypes

但是每当我尝试构建反应性的东西时,我都会得到

Error in .getReactiveEnvironment()$currentContext() : 
  Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)

我看过stackoverflow和教程,似乎没有什么真正的帮助

这是我的第一个错误的UI和服务器代码,如果有人可以突出显示我的问题,将不胜感激。

UI:

Error in RET@get_where(newdata = newdata, mincriterion = mincriterion) : 
  object 'loanfilev3' not found

服务器:

library(shiny)

shinyUI(fluidPage(


  titlePanel("Tabsets"),

  # Sidebar layout with input and output definitions ----
  sidebarLayout(

    # Sidebar panel for inputs ----
    sidebarPanel(

      # Input: Select the random distribution type ----
      numericInput("loan_amnt",
                   "Loan Amount:",
                   value = 5000,
                   min = 0,
                   max = NA),

      numericInput("int_rate",
                   "Interest Rate:",
                   value = 10.5,
                   min = 0,
                   max = NA),

      selectInput("term",
                  "Loan Term:",
                  c("36 months" = " 36 months", 
                    "60 months" = " 60 months")),

      numericInput("installment",
                   "Installment:",
                   value = 100,
                   min = 0,
                   max = NA),
      textInput("grade", "Grade:", "B"),

      textInput("emp_length", "Employment Length:", "5 years"),

      numericInput("annual_inc",
                   "Annual Income:",
                   value = 40000,
                   min = 0,
                   max = NA),

      numericInput("dti",
                   "Debt to Income Ratio:",
                   value = 5.4,
                   min = NA,
                   max = NA),

      textInput("sub_grade", "SubGrade:", "B2"),

      textInput("verification_status", "Verification Status:", "Verified"),

      textInput("home_ownership", "Home Ownership:", "RENT"),

      radioButtons("pymnt_plan", "Payment Plan:",
                   c("Yes" = "y",
                     "No" = "n"))
    ),

    # Main panel for displaying outputs ----
    mainPanel(

      # Output: Tabset w/ plot, summary, and table ----
      tabsetPanel(type = "tabs",
                  tabPanel("Decision Tree", verbatimTextOutput("ct")),
                  tabPanel("Generlized Linear Model", verbatimTextOutput("dl")),
                  tabPanel("K-Nearest Neighbour", verbatimTextOutput("kn"))
      )
    )
  )
)
)

1 个答案:

答案 0 :(得分:0)

所有输入绑定(input$whatever)都需要在反应性上下文中使用,例如:reactive()observerenderXXX等内部。在您的情况下,您正在做类似{ {1}}超出了响应上下文,这就是错误所在。请在下面查看我的更新。我已将您的预测模型添加到由某个操作按钮loan_amnt <- input$loan_amnt触发的eventReactive上。

input$predict

更新到server.R-

# add this button somewhere in your ui.R -
actionButton("predict", "Predict!")