Bonjour,
j ai une colonne X avec des valeur numérique;
je voudrais creer une colonne :
Y(i) = X(i-2) + X(i-1)
je m en sort pas avec l etape data car ca boucle sur les ligne et pas moyen de revenir recupéré la donnée d une autre ligne...
merci
Bonjour,
j ai une colonne X avec des valeur numérique;
je voudrais creer une colonne :
Y(i) = X(i-2) + X(i-1)
je m en sort pas avec l etape data car ca boucle sur les ligne et pas moyen de revenir recupéré la donnée d une autre ligne...
merci
Bonjour,
Tu peux utiliser l'option lag comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 DATA base; INPUT y; CARDS; 1 3 2 6 ; DATA base2; SET base; y2=lag1(y); y3=lag2(y); y4=lag3(y); RUN;
Merci fafa,
voila ce que j ai fait au final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 proc iml; toto = j(100,2);/* creer un vecteur de 1 avec 100 lignes , 2 colonnes */ use exo1; READ ALL VAR _ALL_ into X; do i = 1 to 100; if i = 1 | i =2 then toto[i,1]=0; else toto[i,1] = toto[i-1,1] + 6*toto[i-2,1] + X[i,1]; if i = 100 then ; else toto[i+1,2] = toto[i,2] + 1; end; /* on exporte notre matrice */ create toto from toto; append from toto; close toto; quit;
Bonjour,
N'est-il pas plus simple (et rapide) de passer par une simple étape data ?
Bon courage !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 data work.test (label = valeurs initiales de x) ; input x ; cards; 1 2 3 4 5 6 7 ; run ; data work.test (label = 'y(i) = x(i-2) + x(i-1)') ; set work.test ; y = lag2(x) + lag1(x) ; run ;
salut bruno,
Je suis tout a fait d accord avec toi, mais je n ai vu la solution de fafab qu'apres avoir trouver un moyen de m en sortir que j ai cité.
Merci en tout cas ! je ne connaissais pas la fct lag![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager