Я хотел бы использовать простое приложение 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
Буду очень признателен, если кто-нибудь сможет заняться этим вопросом!