J'ai décidé d'apprendre R. Je cherche à comprendre comment écrire des fonctions de type "R" et éviter les boucles. Voici une situation exemple:Eviter les boucles dans R
Étant donné un vecteur a
, je voudrais calculer un vecteur b
dont les éléments b[i]
(l'indice vectoriel commence à 1) sont définis comme suit:
1 <= i <= 4:
b[i] = NaN
5 <= i <= length(a):
b[i] = mean(a[i-4] to a[i])
Essentiellement, si nous prétendre 'a' est une liste de vitesses où la première entrée est à temps = 0, la seconde à temps = 1 seconde, la troisième à temps = 2 secondes ... Je voudrais obtenir un vecteur correspondant décrivant la vitesse moyenne sur les 5 dernières secondes.
.: Si par exemple a is (1,1,1,1,1,4,6,3,6,8,9)
alors b
devrait être (NaN, NaN, NaN, NaN, 1, 1.6, 2.6, 3, 4, 5.4, 6.4)
je pourrais le faire en utilisant une boucle, mais je pense que le faire ne serait pas dans le « style R ».
Merci,
Tungata
Oui, c'est probablement la mise en œuvre de moyenne mobile la plus simple possible –