Bonjour,
mon jeu de données représente des événements (plongées) successifs pour plusieurs individus, sur un pas de temps relativement long. Chaque individu effectue plusieurs plongées, et j'aimerais visualiser lesquels plongent en même temps, à 5 minutes près (mes données étant à la seconde près).
Pour cela, j'ai essayé plusieurs choses (avec ggplot2, timelinne...) sans succès. J'ai essayé de créer un axe du temps et de positionner un à un les événements, mais ça ne marche pas non plus (un exemple ici avec juste 2 plongées du premier individu et 3 plongées du deuxième individu) :
Code : Tout sélectionner
getOption("digits.secs")
options(digits.secs=4) # to deal with thousandths of a second from accelerometer data
library(data.table) # fread funtion
library(lubridate) # date - time management
library(ggplot2) #graphic
trip_tab <- data.frame("RFID" <- c(20190111_2086644,20190111_2086644,20190110_3975011,20190110_3975011,20190110_3975011),
"beg" <- c(2018-12-27 00:16:56,2018-12-29 21:17:24,2018-12-25 22:01:39,2018-12-28 14:36:14,2018-12-31 04:40:55),
"end" <- c(2018-12-28 12:47:48,2018-12-31 03:08:13,2018-12-26 21:12:08,2018-12-29 18:23:00,2019-01-01 18:20:08)
list.Pengu <- unique(trip_tab$RFID)
trip_tab$beg <- strptime(trip_tab$beg,"%d/%m/%Y %H:%M:%OS",tz = "UTC")
trip_tab$end <- strptime(trip_tab$end,"%d/%m/%Y %H:%M:%OS",tz = "UTC")
range.date <- time_length(min(trip_tab$beg),max(trip_tab$end)) #create timeline range
for (a in 1:length(list.Pengu)) { #for each individual
x0=trip_tab$beg[which(trip_tab$RFID == list.Pengu[a])] #begin of dive
y0=trip_tab$end[which(trip_tab$RFID == list.Pengu[a])] #end of dive
plot(NA,ylim = c(-1,1), xlim = range(), ann=F, axes=F) #plot timeline axis
abline(h=0,lwd=2)
segments(x0,y0,1,1) #include events
}
Quelqu'un aurait-il déjà été confronté à ce genre de problème ?
Je vous remercie d'avance de votre aide =)