I am trying to create an app using shiny which uses a classification model (svm) to predict the output. But i keep getting this error: Error in eval: object 'age' not found
UI and SERVER code:
library(shiny)
library(data.table)
library(caret)
library(caretEnsemble)
library(shinythemes)
model <- readRDS("model.rds")
    
ui <- pageWithSidebar(
  headerPanel('Heart disease predictor'),
  sidebarPanel(
    tags$label(h3('Input parameters')),
    numericInput("age", label = "Age", value = 40),
    numericInput("sex", label = "Sex", value = 1),
    numericInput("chest.pain", label = "Chest pain", value = 1),
    numericInput("resting.BP", label = "resting Bp", value = 120),
    numericInput('cholesterol', label = 'Cholesterol', value = 170),
    numericInput('fasting.sugar', label = 'Fasting Sugar', value = 1),
    numericInput('ECG.at.rest', label = 'ECG at rest', value=1),
    numericInput('max.hear.rate', label = 'Max heart rate', value = 120),
    numericInput('exercisal.angina', label = 'Excercise induced angina', value = 0),
    numericInput('ST.segments', label = 'ST segments', value = 1.5),
    numericInput('slope.of.ST', label = 'slope of ST segment', value = 1),
    numericInput('number.of.vessels', label = 'number of coronary artery', value = 3),
    numericInput('thalassemia', label = 'thalassemia', value = 2),
    
    actionButton("submitbutton", "Submit", class = "btn btn-primary")
  ),
  mainPanel(
    tags$label(h3('Status/Output')), 
    verbatimTextOutput('contents'),
    tableOutput('tabledata')
    )
)
server<- function(input, output) {
  datasetInput <- reactive({  
    df <- data.frame(
      Name = c("Age",
               "Sex",
               "Chest pain",
               "resting Bp",
               "Cholesterol",
               "Fasting Sugar",
               "ECG at rest",
               "Max heart rate",
               "Excercise induced angina",
               "ST segments",
               "slope of ST segment",
               "number of coronary artery",
               "thalassemia"),
      Value = as.character(c(input$age,
                             input$sex,
                             input$chest.pain,
                             input$resting.BP,
                             input$cholesterol,
                             input$fasting.sugar,
                             input$ECG.at.rest,
                             input$max.hear.rate,
                             input$exercisal.angina,
                             input$ST.segments,
                             input$slope.of.ST,
                             input$number.of.vessels,
                             input$thalassemia)),
      stringsAsFactors = FALSE)
    
    target<- 0
    df <- rbind(df, target)
    input <- transpose(df)
    write.table(input,"input.csv", sep=",", quote = FALSE, row.names = FALSE, col.names = FALSE)
    
    test <- read.csv(paste("input", ".csv", sep=""), header = TRUE)
    
    Output <- data.frame(Prediction=predict(model,test), round(predict(model,test,type="prob"), 3))
    print(Output)
    
  })
  
  # Status/Output Text Box
  output$contents <- renderPrint({
    if (input$submitbutton>0) { 
      isolate("Calculation complete.") 
    } else {
      return("Server is ready for calculation.")
    }
  })
  
  # Prediction results table
  output$tabledata <- renderTable({
    if (input$submitbutton>0) { 
      isolate(datasetInput()) 
    } 
  })
  
}
shinyApp(ui = ui, server = server)
I am new in this field and this is my first app which I am creating. Tried going through shiny tutorial but still i couldn't resolve this error. What did I do wrong?
 
                        
After going through a few changes i solved this error:
In here the names should match exactly with the columns of trained data, i did that it executed successfully.