如何在光泽中插入线性回归残差图?

时间:2019-06-30 14:57:16

标签: r shiny linear-regression

“未使用的参数(模型),我正在闪亮的应用程序中创建线性回归模型的残差图,但未显示任何输出。所以有人可以告诉我这段代码有什么问题吗?”

 ui <- navbarPage(tabPanel("Predictions",
               tabsetPanel(
                tabPanel("Linear Regression",tags$h1("Predicting G3 using 
      G1 as predictor using Linear Regression"),
                   verbatimTextOutput("ML"),plotOutput("Model")
            ))
    ))

server <- shinyServer(function(input, output) {
           model <- lm(formula=G3 ~ G1,data=students)
              output$ML <- renderPrint({
                  summary(model)
                     })
            output$Model <- renderPlot({plot(model)
  })


shinyApp(ui = ui, server = server)

1 个答案:

答案 0 :(得分:0)

这是一种实现方法(将代码与mtcars数据集一起重新使用):

library(shiny)
library(lmtest)
library(ggplot2)
library(broom)

ui <- navbarPage(tabPanel("Predictions",
                          tabsetPanel(
                            tabPanel("Linear Regression", 
                                     tags$h1("Predicting G3 using G1 as predictor using Linear Regression"), 
                                     verbatimTextOutput("ML"),
                                     plotOutput("Model")
                            ))
))

server <- shinyServer(function(input, output) {
  model <- lm(formula = wt ~ hp, data = mtcars)

  output$ML <- renderPrint({
    summary(model)
  })

  output$Model <- renderPlot({
    tmp <- augment(model)
    ggplot(tmp, aes(x = .fitted, y = .resid)) +
      geom_point() +
      geom_smooth(method = loess, formula = y ~ x) 
  })
})


shinyApp(ui = ui, server = server)

但是,我应该警告您,我真的不知道augment的实用程序,因为我在寻找类似问题的解决方案时发现了该功能。我认为这不是学习的好方法,所以如果有人可以告诉我它是做什么的,请这样做,因为我不太了解文档。