Как генерировать dataTableOutput динамически, читая файлы .csv в цикле в R блестящий?

У меня есть функция, которая генерирует «n» фреймы данных и сохраняет его в месте как CSV-файлы, и функция возвращает имя файла сохраненных CSV-файлов.

Я хочу взять эти CSV-файлы, читать его с помощьюread.csv() а затем отобразить его в пользовательском интерфейсе, используя renderUI и renderDataTable ()

Хотя приведенный ниже код не имеет синтаксических ошибок, ноничего такого отображается на экране.

Пожалуйста, предложите подходящий метод, с помощью которого таблицы, сгенерированные в одной части server.R, можно использовать в выходных данных и отображать эти таблицы данных в пользовательском интерфейсе.

Код для функции ниже:

функция

GenerateData <- function(){
   #********************************************************************
   # some sample data (originally, my data comes from an external souce)
   #--------------------------------------------------------------------
   a <- 1:10
   b<- 21:30
   c<-41:50
   sampleDat1 <- data.frame(a,b,c)
   sampleDat2<- data.frame(c,a,b,a)
   NumOfDataFrames <- 2
   #--------------------------------------------------------------------
   FilePath <- "D:/FolDerName/"
   FullPath<-WriteStatement <- NULL
   for(i in 1:NumOfDataFrames){

      FullPath[i]<-paste0(FilePath,"sampleDat",i,".csv")
      WriteStatement[i]<-paste0("write.csv(sampleDat",i,",file = '",FullPath[i],"')")
      eval(parse(text=WriteStatement[i]))
   }
   return(FullPath)

}

UI.r

library(shiny)
shinyUI(

   fluidPage(

      # Application title

      navbarPage("Sample Data Display",
                 tabPanel("Data",
                          sidebarLayout(
                             sidebarPanel(
                                titlePanel("Sample"),
                                numericInput("sample1",label = "Some Label",value = 20),
                                numericInput("sample2",label = "Some Other Label",value = 20)
                             ),
                             mainPanel(
                                uiOutput("result")

                             )
                          )
                 )
      )
   )
)

Сервер.R

library(shiny)

GenerateData <- function(){
   #********************************************************************
   # already mentioned above, please copy the contents to server.R
   #--------------------------------------------------------------------


}
shinyServer(function(input, output,session) {
   dataSrc <- reactive({
      paths <- GenerateData()
      return(paths)
   })
   output$result <- renderUI({
      dataTab1<-NULL
      MyFilePath <- dataSrc()
      for (i in 1:length(MyFilePath)){
         dataTab1 <- read.csv(MyFilePath[i])
         # print(dataTab1)
         renderDataTable(dataTab1)
         dataTab1<-NULL

      }

   })
}
)

Ответы на вопрос(1)

Ваш ответ на вопрос