0
votes

Comment calculer la médiane pour chaque minute d'un Dataframe?

J'ai une trame de données (~ 15.000 lignes), comme: xxx pré>

en outre, il manque ~ 10 lignes. Cela signifie parfois qu'il n'y a que 59 secondes en une minute. Je ne sais pas si cela joue un rôle. P>

J'ai trouvé cela en ligne, mais cela n'a pas fonctionné: p> xxx pré>

J'ai besoin de la médiane pour chaque minute. Ce serait vraiment bien, si quelqu'un pouvait m'aider! P>

Résultat attendu: P>

time                   value
01-01-2019 08:09       5,4 (=median of all values between 08:09:00 and 08:09:59)
01-01-2019 08:10       5,8 (=median of all values between 08:10:00 and 08:10:59)
...


1 commentaires

Quelle est la sortie que vous attendez pour les données données ci-dessus?


3 Réponses :


1
votes

si votre est quelque chose comme posixct puis le suivant suivant fonctionner: xxx

voir ? Coupe.posixt < / code>


2 commentaires

Désolé, j'ai besoin d'une petite aide ... Qu'est-ce que "mins" ?


"mins" est la minutes. Voir ? CUT.POSIXT :)



0
votes

J'ai fait un exemple reproductible ...

library(data.table)
dd <- read.table(text="time                   value
'01-01-2019 08:09:25'    5,3
'01-01-2019 08:09:26'    5,5
'01-01-2019 08:10:00'    6,5
'01-01-2019 08:10:01'    5,2
'01-01-2019 08:10:02'    6,2
'01-01-2019 08:10:03'    5,4", header =TRUE)#
dd <- data.table(dd)
dd[,value:=as.numeric(gsub(",",".",value))]
dd[,day:=substr(time,1,10)]
dd[,hour:=substr(time,12,16)]
## only listing the median
dd[,list(median_value=median(value,na.rm = TRUE)),by=.(day,hour)]
## or an new data table
dd_median <- dd[,list(median_value=median(value,na.rm = TRUE)),by=.(day,hour)]


1 commentaires

Merci !!



0
votes

Comment puis-je programmer une boucle de sorte que les huit tables soient calculées une après l'autre?

Le code: xxx

ceci doit être calculé pour: xxx

Merci beaucoup pour votre aide!


1 commentaires

Si tous les objets différents ont une période différente de l'heure - de sorte que leurs événements de date et d'heure ne se croisent pas - vous pouvez effectuer une donnée de chacun d'entre eux et les lier ensemble via RBindlist (liste (M1_I, M2_I, M3_I , M4_i, m1_u, m2_u, m3_u, m4_u)) puis exécutez la ligne 3-6 de votre code et faites-le pour tous ensemble.