Как импортировать несколько файлов .jdx из указанной папки c в Shiny, а затем оценить их с помощью пакетов ChemoSpe c? - PullRequest
1 голос
/ 09 марта 2020

Я хотел бы использовать простое приложение Shiny для загрузки некоторых спектроскопических данных c (в формате .jdx) из указанной папки c и оценки их с использованием ChemoSpe c пакетов readJDX. Я подготовил следующий код для R Shiny, но все еще не могу оценить данные после выбора папки, в которой они содержатся.

Код

Код выглядит следующим образом:

library(shiny)
library(shinyFiles)
library(ChemoSpec)
library(DT)

ui <- fluidPage(

    shinyDirButton('folder', 'Folder select', 'Please select a folder', FALSE),
    textOutput("dir"),
    dataTableOutput("rendered_file")
)

server <- function(input,output,session){

    observe({  
        if(!is.null(input$folder)){
            shinyDirChoose(input, 'folder', roots=getVolumes())
            output$dir <- renderText(as.character(input$folder))
            }
    })

    dir <- reactive({
        input$folder
    })

    goButton <- eventReactive(input$folder,{
        spec <- files2SpectraObject(
            gr.crit = "samples", freq.unit = "ppm", int.unit = "intensity",
            descrip = "test import", fileExt = "\\.JDX", path = input$folder)
        spec$data
    })

    output$rendered_file <- DT::renderDataTable({
     req(input$folder)
     goButton()
     })
}
shinyApp(ui = ui, server = server)

Я продолжаю получать следующую ошибку

Ошибка: оператор $ недопустим для атомов c векторов

, несмотря на то, что я написал следующую функцию это работает в среде R, но я не могу преобразовать ее в среду R Shiny:

a<-getwd()
spec <- files2SpectraObject(
  gr.crit = "samples", freq.unit = "ppm", int.unit = "intensity",
  descrip = "test import", fileExt = "\\.JDX", path = a
)
dat <- spec$data

Буду очень признателен, если кто-нибудь сможет заняться этим вопросом!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...