Я не могу передать CSV-файл из блестящего в RMD.Пожалуйста, не ссылайтесь на другой пост, потому что прошел через все из них - PullRequest
0 голосов
/ 27 ноября 2018

Пользователь загружает 3 набора данных-> Приложение очищает их-> Пользователь загружает очищенные данные-> Загружает очищенные данные в Генератор отчетов-> Формируются отчеты (формат HTML).Очистка части и загрузка очищенных данных работает нормально.Все работает выше #REPORT GENERATOR.

Server.R

library("shiny")

ShinyServer(function(input, output) {
data <- reactive({
infile <- input$clin #clin file
if(is.null(infile)){
  #use has not upload it yet
  return(NULL)}
table <- read.csv(file=infile$datapath,sep = ",")
return(table)
})
#data for Cree completed 
data2 <- reactive({
infile2 <- input$completedCree #Cree completed visits
if(is.null(infile2)){
  #use has not upload it yet
  return(NULL)}
table2 <- read.csv(file=infile2$datapath,sep = ",")
return(table2)
})
#data for Mul completed 
data3 <- reactive({
infile3 <- input$completedMul 
if(is.null(infile3)){
  #use has not upload it yet
  return(NULL)}
table3 <- read.csv(file=infile3$datapath,sep = ",")
return(table3)
})
buttonClicked <- eventReactive(input$clean, {
shinyalert::shinyalert("Warning!", "This process may take up to 3 
minutes", type = "info")
clean_data(data(),data2(),data3())
})
output$text <- renderText({
"Click Download! Make sure the file has been successfully downloaded 
before closing this window. If not, click Download again."
})
output$downloadData <- downloadHandler(
filename = "cleanedData.csv",
content = function(file) {
  write.csv(buttonClicked(),file,row.names = FALSE,na="")
}
)
  #REPORT GENERATOR
output$report <- downloadHandler(
filename = "report.html",
content = function(file) {
  # Copy the report file to a temporary directory before processing it, in
  # case we don't have write permissions to the current working dir (which
  # can happen when deployed).
  tempReport <- file.path(tempdir(), "report.Rmd")
  file.copy("report.Rmd", tempReport, overwrite = TRUE)
  # Set up parameters to pass to Rmd document
  params <- list(file = input$cleanedFile$datapath) 
  rmarkdown::render(tempReport, output_file = html_document,params = 
  params, envir = new.env(parent = globalenv())
   )
  }
 )
 })

«output $ report» - это часть, которую я пытаюсь передать входному CSV-файлу в RMD

Часть файла RMD:

 ---
 title: |
 | \vspace{5cm} 
 output:
 html_document:
  toc: yes
  toc_depth: 2
  toc_float: True
  number_sections: true
 params:
  file: NA
---
```{r, echo=FALSE,message=FALSE}
screData = read.csv(file = params$file, sep = ",")
```

Ошибка "params not found"

1 Ответ

0 голосов
/ 28 ноября 2018

Вместо прохождения NA в rmarkdown я должен был передать символ.Поэтому в файле RMD II пришлось исправить следующую часть:

params: file: "" # вместо NA

...