Вот способ сделать это (повторно использовать ваш код с 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
, потому что я нашел эту функцию при поиске решения для аналогичной проблемы. Я считаю, что это не лучший способ научиться, поэтому, если кто-то может сказать мне, что он делает, пожалуйста, сделайте это, потому что я действительно не понимал документацию.