Получение "таблицы экстентов 0" в выводе Shiny Web-приложения - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть файл данных, который я прочитал в своей функции сервера Shiny.Я хотел бы отобразить таблицу частот двух столбцов, которые пользователь выбирает с помощью раскрывающихся списков.Я получаю ошибку "таблица экстента 0".Я посмотрел на ошибку R - Таблица экстентов 0 и Не могу решить проблему с таблицей , но я правильно импортировал свои данные и имена столбцов также совпадают.Та же строка кода работает, когда я запускаю ее в консоли.

Вот мой код:

shinyServer(function(input, output) {
  output$courseData = renderPrint( {


    data = read.csv(file = 'FourCourseTableLetterGrades_POLISHED.tsv', sep = '\t', header = TRUE)
    c1 = input$course1
    c2 = input$course2
    tbl = table(data$c1, data$c2)
    tbl

  }

  )
}

)

Обновление: это то, что таблица выглядит правильносейчас:

screenshot

Я бы хотел, чтобы выходные данные были в матричном формате, так же, как вы получаете при запуске команды table в консоли.Я также не знаю, почему столбцы названы Var1 и Var2 и где их изменить.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Первая проблема заключается в том, что c1 и c2 являются символьными переменными, поэтому вам нужно использовать [[]] вместо $.Вторая проблема заключается в том, что вы видите формат таблицы результата из table, если у вас есть матрица, вы можете довольно легко рассчитать ее с помощью пакета dplyr для примера

library(dplyr)

data = read.csv(file = 'FourCourseTableLetterGrades_POLISHED.tsv', sep = '\t', header = TRUE)
    c1 = input$course1
    c2 = input$course2
    tbl = tibble(data[[c1]], data[[c2]]) %>% 
       group_by_all() %>%  
       tally() %>%  
       tidyr::spread(2,n)
    tbl

надеюсь, что этопомогает !!

0 голосов
/ 06 декабря 2018

Использование data[[c1]] вместо data$c1, как предлагается в комментариях, устранило ошибку и показало базовый (хотя и некорректный) вывод.Я не понял, почему.

...