闪亮的应用程序中的外部数据存储

时间:2019-12-16 10:34:26

标签: r shiny

我正在开发一个闪亮的应用程序,该应用程序可以保存在用户界面上输入的数据。我已经引用了URL on shiny rstudio page,因此通过使用此页面,我编写的代码如下所述:

   outputDir <- "C:\\Users/dell/Desktop/"  
saveData <- function(data) {
  data <- t(data)

  fileName <- sprintf("%s_%s.csv", as.integer(Sys.time()), digest::digest(data))

  write.csv(
    x = data, sep = ",",
    file = file.path(outputDir, fileName), 
    row.names = FALSE, quote = TRUE
  )
}

loadData <- function() {

  files <- list.files(outputDir, full.names = TRUE)
  data <- lapply(files, read.csv, stringsAsFactors = FALSE) 

  data <- do.call(rbind, data)
  data
}
library(shiny)

fields <- c("name", "staff_name")

shinyApp(
  ui = fluidPage(
    titlePanel("attendance System"),
    DT::dataTableOutput("responses", width = 300), tags$hr(),
    textInput("name", "Accession Number", ""),
    selectInput("staff_name", "Staff Name",
                c("Rajiv" = "RT",
                  "Arvind " = "AKS",
                  "Ashutosh " = "AS")),

    actionButton("submit", "Submit")
  ),
  server = function(input, output, session) {

    formData <- reactive({
      data <- sapply(fields, function(x) input[[x]])
      data
    })


    observeEvent(input$submit, {
      saveData(formData())
    })



    output$responses <- DT::renderDataTable({
      input$submit
      loadData()
    })     
  }
)

上面的代码为每个条目创建一个新文件。我正在寻找一个要在其中添加所有条目的文件。

2 个答案:

答案 0 :(得分:1)

这将根据保存时间和文件内容为您提供唯一的文件名:

X2D.dot(Y).sum()

您可以为其命名,例如:

fileName <- sprintf("%s_%s.csv", as.integer(Sys.time()), digest::digest(data))

就像@ismirsehregal一样,我还是建议为此添加书签。

答案 1 :(得分:0)

在查看各种解决方案后。我到达以下代码,将输入的数据保存到一个文件中。

span = Span(doc_pm, start, end, label=phrasematcher.vocab.strings[match_id])