Я пытаюсь создать веб-интерфейс, в котором я хочу делать прогнозы из предварительно построенной модели на основе входных данных, предоставленных пользователем.
Ниже приведены фиктивные данные и модель
# creation of dummy data and model
age=round(runif(100,15,100))
bmi=round(runif(100,15,45))
cholesterol=round(runif(100,100,200))
gender=sample(c('male','female'), 100, replace=TRUE, prob=c(0.45,0.55))
height=round(runif(100,140,200))
weight=round(runif(100,140,200))
outcome=sample(c('accepted','reject'),100,replace=T,prob=c(0.30,0.70))
df=data.frame(age,bmi,cholesterol,gender,height,weight,outcome)
model <- glm(outcome ~.,family=binomial(link='logit'),data=df)
Теперь я попробую создать блестящее приложение, ссылающееся на множество ссылок и похожих проблем, с которыми сталкиваются люди. Я новичок и до сих пор не смог решить проблему. Хотя при запуске приложения ошибки нет, выходные данные, т.е. вероятность, нигде не печатаются на веб-странице
Код интерфейса пользователя
library(shiny)
ui = fluidPage(
# this is an input object
titlePanel("Underwriting Prediction Model"),
sidebarLayout(position = "right",
sidebarPanel(),
mainPanel(textOutput("Pred"))),
numericInput(inputId='age', label='Age', value = 18,min = NA, max = NA, step = NA,width = NULL),
checkboxGroupInput(inputId='gender', label='Gender', c('Male','Female'), selected = NULL, inline = FALSE,width = NULL),
numericInput(inputId='bmi', label='bmi', value = 18,min = NA, max = NA, step = NA,width = NULL),
numericInput(inputId='height', label='Height', value = 150,min = NA, max = NA, step = NA,width = NULL),
numericInput(inputId='Weight', label='Weight', value = 25, min = NA, max = NA, step = NA,width = NULL),
numericInput(inputId='cholesterol', label='Cholesterol', value = 25, min = NA, max = NA, step = NA,width = NULL),
textOutput(outputId = 'Pred')
)
Сервер
server = function (input,output) {
data<-reactive({
df_final=data.frame(age=input$age,gender=input$gender,bmi=input$bmi,height=input$height,weight=input$weight,cholesterol=input$cholesterol)})
pred=reactive({predict(model,data())})
output$Pred <- renderPrint(pred())
}
shinyApp(ui=ui,server=server)
Когда я предоставляю входные значения, я не получаю распечатки для моих прогнозов. Я вызываю переменную в render print, а главная панель еще не видна. В чем здесь проблема?