2011-12-16 6 views
1

Mes données figurent dans la colonne. J'ai besoin de scanner toutes les 3 lignes et sortir avec les valeurs maximales. C'est une sorte de moyenne mobile mais je ne veux pas que les données soient moyennées. Les valeurs maximales sont ma principale préoccupation. 29,66 par exemple, 29,59, 30,05 = maximum est 30,05
puis passer à 29,59, 29,59, 30,05 = maximum est 30,05Recherche de la valeur maximale dans la colonne

Comment faire en R-logiciels?

29.66 
29.59 
30.05 
29.59 
29.59 
30.05 
29.59 
29.92 
30.26 
30.18 
30.47 

Répondre

2

Voir rollapply dans le package zoo: rollapply(x, 3, max)

3

La fonction rollapply dans le paquet zoo devrait faire l'affaire:

library(zoo) 
values = c(29.66, 29.59, 30.05, 29.59, 29.59, 30.05, 29.59, 29.92, 30.26, 30.18, 30.47) 

rollmax(values, k=3) 
# or 
rollapply(values, 3, max) 

# [1] 30.05 30.05 30.05 30.05 30.05 30.05 30.26 30.26 30.47 
+0

merci beaucoup Hong et Matt! Cependant ... j'ai reçu un message d'erreur. Erreur dans UseMethod ("rollapply"): aucune méthode applicable pour 'rollapply' appliqué à un objet de la classe "c ('double', 'numérique')" – Eddie

+0

Salut mat ... désolé. Je l'ai! Mise à jour mon paquet de zoo et tout va bien. Merci beaucoup mon pote. – Eddie

+0

Notez également 'rollmax'. –

Questions connexes