J'essaie de simplifier un grand ensemble de données (52k + lignes) en trouvant la valeur maximale pour chaque intervalle de deux semaines. J'ai déjà affecté des valeurs de numéro de semaine à chaque ligne et utilisé la fonction aggregate() pour trouver la valeur maximale pour chaque semaine.Agréger les paires impaires/paires
données exemple simplifié:
week <- c(1:5, 5, 7:10)
conc <- rnorm(mean=50, sd=20, n=10)
df <- data.frame(week,conc)
aggregate(df, by=list(week), FUN=max)
Cependant, je suis coincé sur la façon de poursuivre sur la base globale des intervalles de deux semaines (ex: semaines 1 & 2, 3 semaines & 4 ...). Ce n'est pas aussi simple que de combiner tous les autres rangs puisque chaque semaine a été échantillonnée.
Je suppose qu'il y a une solution simple, je ne l'ai pas encore trouvé.
Merci!
Juste a montré celui-ci à une autre requête SO. Essayez 'tapply (df $ conc, rep (1: (nrow (df)/2), chacun = 2), FUN = somme)' – Sagar
Que devrait-il se passer à la semaine 5? La valeur de la semaine 5 doit-elle être retournée? N/A? –
Sagar: Il semble toujours que les paires seraient éliminées s'il y avait une semaine manquante. À moins que j'interprète mal votre code ... – keta