Только нулевые значения в текстовом файле после его записи с R-ввода (хранилище данных)

#r #shiny #data-storage

Вопрос:

Я не получаю правильный ввод в свой текстовый файл. Я получаю только нулевые значения в каждом столбце текстового файла, в который я его записываю. Например, имя фермы = NULL.

Кто-нибудь знает, почему я получаю эти нулевые значения и, возможно, как это решить? Я думаю, что он переписывает его неправильно.

Это мой сценарий:

 Library (shiny)
library(png)
library(shinyTime)

# Define the fields we want to save from the form
fields <- c("Farm name", 'Date data entry', "Feed intake", "Water intake", "Time light on", "Time light off", "Feed phase", "Eggs per week")

# Save a response
# ---- This is one of the two functions we will change for every storage type ----
saveData <- function(data) {
  data <- t(data)
  # Create a unique file name
  Interovodatafromwebapp <- sprintf("%s_%s.csv", as.integer(Sys.time()), digest::digest(data))
  # Write the file to the local system
  write.table(data, file="myfile.txt", append=T, quote = T, sep=",", row.names=F, col.names=T)
}


# Load all previous responses
# ---- This is one of the two functions we will change for every storage type ----

outputDir <- "responses"

loadData <- function() {
  # Read all the files into a list
  files <- list.files(outputDir, full.names = TRUE)
  data <- lapply(read.table(file = "myfile.txt", header = TRUE, sep = '.', fill = TRUE))
  # Concatenate all data together into one data.frame
  data <- do.call(rbind, data)
  data
}

# Shiny app with 3 fields that the user can submit data for
shinyApp(
  ui = fluidPage(
    titlePanel("Interovo Egg Data Entry For Farmers"),
    sidebarPanel(
      DT::dataTableOutput("responses", width = 10), tags$hr(),
      textInput('Farm_name', 'Farm name'),
      dateInput('Date_data entry', 'Date data entry'),
      numericInput("Feed_intake", 'Feed intake', 0),
      numericInput("Water_intake", 'Water intake', 0),
      timeInput("Time_light_on", "Time light on", seconds = FALSE),
      timeInput("Time_light_off", "Time light off", seconds = FALSE),
      textInput("Feed_phase", 'Feed phase'),
      numericInput("Eggs_per_week", 'Eggs per week', 0),
      actionButton("submit", "Submit")),
    mainPanel(
      img(src = "Logointerovogroot.png", height = 62, width = 160),
      img(src = "WURfoto.png", height = 210, width = 280)),
  ),
  server = function(input, output, session) {
    
    # Whenever a field is filled, aggregate all form data
    formData <- reactive({
      data <- sapply(fields, function(x) input[[x]])
      data
    })
    
    # When the Submit button is clicked, save the form data
    observeEvent(input$submit, {
      saveData(formData())
    })
    
    # Show the previous responses
    # (update with current response when Submit is clicked)
    #output$responses <- DT::renderDataTable({
      #input$submit
      #loadData()
    #})     
  }
)

 

Заранее спасибо!
Дамиан