Utilisation de MEAN dans une boucle
Bonjour,
Je débute avec SAS et je bloque sur un programme que j'ai besoin de faire.
J'ai une table contenant des données climatiques quotidiennes de deux années consécutives avec les colonnes suivantes :
date_in tmin tmax rain vp humid
J'ai converti mes dates en nombre reconnu par SAS (01/01/1998=13880).
Mon problème est le suivant :
J'aimerais ajouter, pour chaque paramètre climatique, une colonne correspondant à la moyenne des valeurs des 50 jours suivants.
En clair, pour tmin j'aimerais rajouter la colonne average_tmin.
La première observation de average_tmin serait la moyenne des températures allant de la date 1 à la date 50.
La 2ème observation de average_tmin serait la moyenne des valeurs allant de la date 2 à la date 51.
Etc.
Pour cela, j'ai pour l'instant rédigé le programme suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
DATA climate_av;
set climate;
keep tmin2
tmax2
rain2
vp9
humid9
date_in;
DO i=1 to 1096; /*J'ai 1096 jours de données climatiques, soit 1096 lignes dans climate*/
proc means data=climate_av (FIRSTOBS=1+i OBS=50+i) mean;
var tmin2; /*Tentative 1*/
run;
*av_tmin = mean(tmin2(FIRSTOBS=1+i OBS=50+i)); /*Tentative2*/
END;
PROC print data=climate_av; |
J'ai conscience que mettre un PROC dans une boucle ne fonctionne pas donc je cherche une alternative...
Sinon je pensais utiliser la fonction mean mais je ne sais pas comment l'appliquer aux valeurs qui m'intéressent...
Est-ce que quelqu'un pourrait me donner des pistes s'il vous plait ?