【问题标题】:Shiny application taking user input and display output of linear regression闪亮的应用程序接受用户输入并显示线性回归的输出
【发布时间】:2019-02-27 01:27:39
【问题描述】:

我试图从用户那里获取输入,并在闪亮的应用程序中根据线性回归预测输出。请在下面找到 Ui 和服务器代码:

ui.R

library(shiny)
shinyUI(pageWithSidebar(

  headerPanel("House median values"),

  sidebarPanel(
    numericInput(inputId = "incomeValue",
                 label = "incomeValue",
                 min = 40, max = 160, value = 100)
  ),

  mainPanel()
))

服务器.R

library(shiny)
library(ISLR)

shinyServer(function(input, output) {

  newlstat = renderText({input$incomeValue})

  newPredict = data.frame(newlstat)

  modelLM = lm(medv~lstat, data = Boston)

  op = predict(modelLM, newPredict)

  output$value <- renderPrint({op})
  })

此代码导致预测函数出现以下错误:

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) : 
  object is not a matrix

如何解决这个错误并显示预测值?

【问题讨论】:

  • 我刚刚将该 lstat 编辑为 newlstat。 modelLm 中的 lstat 是波士顿数据集的属性。

标签: r shiny rstudio


【解决方案1】:

这是你的问题,renderText 返回一个函数而不是一个值

Browse[1]> str(newPredict)
'data.frame':   0 obs. of  1 variable:
$ lstat:function (...) 

这是一个工作示例

library(shiny)

  ui <- fluidPage(
    pageWithSidebar(

      headerPanel("House median values"),

      sidebarPanel(
        numericInput(inputId = "incomeValue",
                     label = "incomeValue",
                     min = 40, max = 160, value = 100),
        actionButton('go',"Predict")
      ),

      mainPanel()
    )
  )

  server <- function(input, output, session) {

    data <- reactiveValues()
    observeEvent(input$go,{
      #browser()
         data$var <-input$incomeValue

         newPredict = data.frame(cyl=data$var)

         modelLM = lm(hp~cyl, data = mtcars)

         data$op = predict(modelLM, newPredict)
       })

    lstat = renderText({data$var})

    output$value <- renderPrint({data$op})
  }

  shinyApp(ui, server)

【讨论】:

  • 它工作并在 UI 中显示输出我将 ui 的主面板更新为 mainPanel( textOutput("value") )
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 2019-03-24
  • 2015-08-11
相关资源
最近更新 更多