J'ai une trame de données (~ 15.000 lignes), comme: 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> 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)
...
3 Réponses :
si votre code> code> est quelque chose comme voir posixct code> puis le suivant suivant fonctionner:
? Coupe.posixt < / code> p> p>
Désolé, j'ai besoin d'une petite aide ... Qu'est-ce que "mins" code>?
"mins" code> est la minutes. Voir
? CUT.POSIXT CODE> :)
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)]
Merci !! b>
Comment puis-je programmer une boucle de sorte que les huit tables soient calculées une après l'autre?
Le code: p> ceci doit être calculé pour: p> Merci beaucoup pour votre aide! strong> p> p> p>
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)) code> puis exécutez la ligne 3-6 de votre code et faites-le pour tous ensemble.
Quelle est la sortie que vous attendez pour les données données ci-dessus?