Прочитать файл и сохранить его в объект. [Нет отображения загруженных данных] в Shiny R

Я знаю, что есть несколько вопросов об этом, вот так.

Но я не мог понять решение моей проблемы от них.

Я хочу, чтобы загрузить файл в R через блестящий и назначить его объекту, скажем, имя объекта "Object_name".

Я использовал fileInput в ui.R и сделал это

fileInput('file1', h4('Choose Your Data File'),
                            accept=c('text/csv',
                                     'text/comma-separated-values,text/plain',
                                     '.OUT'))

Теперь я обращаюсь к "file1" и пытаюсь восстановить загруженный файл через file1$datapath. Я не мог на самом деле сделать это. Я получаю консольные ошибки как....

1. Error in terms.formula(formula, data = data) : 
  'data' argument is of the wrong type

А в графическом интерфейсе в сюжете его показ Error:'data' argument is of the wrong type

Я добавил этот кусок кода на сервере глянцевый сервер.R

mydata <- reactive({
    inFile <- input$file1
    if (is.null(inFile)) return(NULL)
    object_name <- read.table(inFile$datapath, header = TRUE)
  })

Разрешено ли получить доступ к файлу напрямую из канала данных, как я делаю выше. Почему он не загружает загруженные данные в "а".

Если кто-то знает ответ, пожалуйста, помогите мне.

Обновить:

Мой набор данных имеет заголовок = False. Поэтому, когда я загружаю данные, мне нужно изменить имена (мой набор данных), и тогда могут быть выполнены дальнейшие вычисления.

Учитывая этот код

a <- reactive({
   inFile <- input$file1
   if (is.null(inFile)) return(NULL)
   read.table(inFile$datapath, header = TRUE)
 })

Тем не менее я не могу получить доступ к a() [т.е. к нужным данным] и использовать его для дальнейших вычислений. Я не могу назначить, как names(a) <- c(.......) снаружи реактивен, потому что выдает ошибку, если я это сделаю...

Error in names(a) <- c("Ei", "Mi", "hours", "Nphy", "Cphy", "CHLphy",  : 
  names() applied to a non-vector

И я не могу сделать это внутри реактивного, потому что я могу назначать имена только после того, как данные "a" или "a()" готовы. так как я могу достичь этого.

1 ответ

Решение

В вашем server.r тебе нужно сделать read.csv (или любой другой, соответствующий вашему формату входного файла), чтобы получить данные. Что-то вроде:

MyData<-reactive({ read.csv(input$file1$datapath, ...) })

Где... какие еще аргументы вам нужны read.csv(), Затем вы можете получить доступ к своим данным, ссылаясь на него как MyData(),

Редактировать Если вы хотите добавить имена столбцов (которых нет в исходном.csv), вы можете использовать col.names аргумент в read.csv(),

Другие вопросы по тегам