J'ai un jeu de données qui ressemble à ceci :
dt <- structure(list(servicerequestid = c("254475", "255470", "249438",
"249398", "249399"), createdate = structure(c(1471592400, 1471874280,
1470037140, 1470028740, 1470031020), tzone = "UTC", class = c("POSIXct",
"POSIXt")), closedate = structure(c(1473661860, 1472457480, 1470641700,
1491918180, 1470293940), tzone = "UTC", class = c("POSIXct",
"POSIXt"))), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-5L), .Names = c("servicerequestid", "createdate", "closedate"
))
# A tibble: 5 x 3
servicerequestid createdate closedate
<chr> <dttm> <dttm>
1 254475 2016-08-19 07:40:00 2016-09-12 06:31:00
2 255470 2016-08-22 13:58:00 2016-08-29 07:58:00
3 249438 2016-08-01 07:39:00 2016-08-08 07:35:00
4 249398 2016-08-01 05:19:00 2017-04-11 13:43:00
5 249399 2016-08-01 05:57:00 2016-08-04 06:59:00
Chaque servicerequestid
est l'identifiant d'une demande de service qui est restée ouverte à partir de createdate
a closedate
. J'aimerais transformer cet ensemble de données de telle sorte que chaque servicerequestid
aura autant d'observations que de jours où le ticket est resté ouvert, avec sa date respective.
Par exemple, pour les servicerequestid== 255470
l'ensemble de données ressemblerait à ce qui suit :
# A tibble: 8 x 2
servicerequestid date
<dbl> <date>
1 255470 2016-08-22
2 255470 2016-08-23
3 255470 2016-08-24
4 255470 2016-08-25
5 255470 2016-08-26
6 255470 2016-08-27
7 255470 2016-08-28
8 255470 2016-08-29
J'ai essayé le code ci-dessous, mais il ne fonctionne pas :
dt %>%
mutate(seq.Date(as.Date(createdate), as.Date(closedate), by="days"))
Quelques éléments de contexte : J'essaie de créer une carte de densité animée dans ggplot, et j'ai pensé qu'une approche possible pourrait être de créer des observations quotidiennes. De cette façon, pour chaque jour, je devrais être en mesure de visualiser le nombre de tickets ouverts.