Updating data frame based on the user input

I have a data frame that I am reading from my local directory. I am also providing users to append their finding from an experiment to the existing data frame from the shiny app.
The problem I am facing is to create a new data frame with user's recorded reading. As I am refreshing the app I am left with the old data (i.e., no user record from the shiny app).

I need an updated data frame so that I can create a model based on the new readings.

Any help and suggestion!

Thank You

My server side

    # read datafame
    machineDf <-read.csv("Machine Run Data2.csv", sep = ",")
    # add additional column
    machineDf <- machineDf %>% mutate(stuId = NA, .before = year)
    xchange <- reactiveVal(machineDf)
    machineDf <- observeEvent(input$append, {
        old.Data <- xchange()
        lastEntry <- values$DT[nrow(values$DT),]
        new.Data <<- rbind(old.Data , lastEntry)

best practice is to have a database backend for permanent storage