Дата против График времени в Ggplot - PullRequest
0 голосов
/ 01 апреля 2020

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

timeCounts <- data.frame(table(mydata[,1])) #the date column
colnames(timeCounts) <- c("pDate", "pCount")
ggplot(timeCounts, aes(x=pDate, y= pCount, fill=pDate)) + geom_bar(stat="identity")

Это создает неожиданный график, который выглядит следующим образом: plot1 Но я намеревался получить либо линейный график, соединяющий значения, либо гистограмму ( высота пропорциональна количеству в день) Не могли бы вы помочь мне исправить это?

После преобразования pDate в формат даты был сгенерирован следующий график: plot2

Пример данных выглядит this: набор данных

То, что я хочу сгенерировать, является графиком этого:

pDate     pCount
1/1/2020    36
1/10/2020   60
1/12/2020   63
1/13/2020   59
1/14/2020   80

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете использовать этот код для создания линейного графика или линейного графика:

library(ggplot2)

timeCounts %>%
  mutate(pDate = as.Date(pDate, format="%m/%d/%Y")) %>%
  ggplot(aes(x=pDate, y=pCount)) + 
  geom_bar(stat="identity")

timeCounts %>%
  mutate(pDate = as.Date(pDate, format="%m/%d/%Y")) %>%
  ggplot(aes(x=pDate, y=pCount)) + 
  geom_line()

Данные :

timeCounts <- structure(list(pDate = c("1/1/2020", "1/10/2020", "1/12/2020", 
"1/13/2020", "1/14/2020"), pCount = c(36L, 60L, 63L, 59L, 80L
)), class = "data.frame", row.names = c(NA, -5L))
...