Я использую модель множественной линейной регрессии с использованием доступного обучающего набора данных mtcars.
Теперь я хочу запустить эту модель для тестового набора данных.Поэтому я пытаюсь получить набор тестовых данных вручную от пользователя в Shiny UI.Пользователь должен иметь возможность выбирать зависимые и независимые переменные, основываясь на независимом и зависимом выборе переменных, он должен давать прогнозируемое значение набора тестовых данных
В настоящее время он выдает ошибку "не удалось найти функцию«modelq»
modelq - построенная мной модель линейной регрессии (на основе набора данных mtcars) для прогнозирования значений набора тестовых данных. Код:
library(shiny)
library(datasets)
library(caret)
library(shiny)
library(curl)
library(shiny)
library(shiny)
ui <- fluidPage(
titlePanel("My first predictive model"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
tags$hr(),
uiOutput("dependent"),
uiOutput("independents"),
tags$hr(),
actionButton("action", "Predict!")
),
mainPanel(
verbatimTextOutput("regTab")
)
)
)
server <- function(input, output, session) {
filedata <- reactive({
infile <- input$file1
if (is.null(infile)){
return(NULL)
}
read.csv(infile$datapath)
})
output$dependent <- renderUI({
df <- filedata()
if (is.null(df)) return(NULL)
items=names(df)
names(items)=items
selectInput("dependent","Select ONE variable as dependent variable from:",items)
})
output$independents <- renderUI({
df <- filedata()
if (is.null(df)) return(NULL)
checkboxGroupInput('independents','Select the regressors', choices = names(df))
})
#regression formula
pred12 <- eventReactive(input$action, {
modelq <- lm(as.formula(paste(input$dependent," ~ ",paste(input$independents,collapse="+"))),data=mtcars)
pred1<-predict(modelq(),filedata())
}
)
#model
output$regTab <- renderPrint({
if(!is.null(input$independents)){
pred12()
} else {
print(data.frame(Warning="Please select Model Parameters."))
}
})
}
shinyApp(ui, server)