Come utilizzare un'istruzione do while in sas


È possibile utilizzare un’istruzione DO WHILE in SAS per ripetere il ciclo ripetutamente mentre una condizione rimane vera.

Gli esempi seguenti mostrano due modi diversi di utilizzare questa istruzione nella pratica.

Esempio 1: istruzione DO WHILE in SAS

Il codice seguente mostra come utilizzare un’istruzione DO WHILE in SAS per creare un set di dati contenente due variabili denominate var1 e var2 che continuano a generare nuovi valori anche se il valore di var1 è inferiore a 100:

 /*create dataset using DO WHILE statement*/
data my_data;

var1 = 1;
var2 = 1;

dowhile (var1<100);
    var1 = var1 + var2; 
    var2 = var1 * var2;
    var1 + 1;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

L’istruzione DO WHILE continuava a generare nuovi valori per var1 e var2 anche se il valore di var1 era inferiore a 100.

Una volta che il valore di var1 supera 100, l’istruzione DO WHILE si interrompe e non vengono più aggiunti nuovi valori al set di dati.

Esempio 2: istruzione DO WHILE con istruzione TO in SAS

Il codice seguente mostra come utilizzare un’istruzione DO WHILE con un’istruzione TO in SAS per creare un set di dati contenente due variabili denominate var1 e var2 che continuano a generare nuovi valori anche se il valore di var1 è inferiore a 10:

 /*create dataset using DO WHILE statement with TO statement*/
data my_data;

var1 = 0; 

do var2 = 1 to 5 while (var1 < 10);   
    var1 = var2**3;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

L’istruzione TO indicava a SAS di tentare di generare valori per var2 compresi tra 1 e 5, ma solo quando il valore di var1 era inferiore a 10.

Una volta che il valore di var1 supera 10, l’istruzione DO WHILE si interrompe e non vengono più aggiunti nuovi valori al set di dati.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come utilizzare IF-THEN-DO in SAS
Come utilizzare IF-THEN-ELSE in SAS
Come rimuovere i duplicati in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *