Листовка R Shiny ggplot2 - как построить несколько полей на оси X линейного графика - PullRequest
2 голосов
/ 19 июня 2020

Я новичок в создании графиков в R, и у меня возникли проблемы с построением графиков данных, которые у меня есть.

Я работаю в приложении R - Shiny, используя Leaflet для отображения округов в США и ggplot2 для создания графиков линейных графиков, когда пользователь нажимает на округ.

Вот пример моих данных, он подсчитывает самые новые случаи covid-19 за день:

county  state   04/04/2020  04/05/2020  04/06/2020  04/07/2020  04/08/2020
Autauga Alabama    09           09          11         15           18

Мне нужны даты по оси X и количество наблюдений по оси Y, но из-за структуры данных каждая дата является отдельным полем, а каждый новый случай covid-19 представляет собой строку. Все, что я видел при создании простых линейных графиков, включает использование двух полей (IE -> X для одного поля, «дата» и Y для поля «case»). Но я не уверен, как вставить эти значения на основе структура данных, над которой я работаю (где столбец - это дата, а строки - случаи).

Похоже, должно быть простое решение, но я его не нахожу. Если кто-нибудь знает, где найти эти ресурсы или как начать, дайте мне знать!

1 Ответ

1 голос
/ 19 июня 2020

ggplot2 нужны данные в форме long , в то время как ваши данные имеют width .

Вы можете конвертировать свои данные с помощью pivot_longer() из пакета tidyr:

long_data <- pivot_longer(my_data, c(-county, -state), names_to = "date", values_to = "cases)
...