Introduzione ai loop in SAS

SAS come soluzione analitica è stata creata presso la North Carolina State University negli anni '70, i decenni a venire hanno visto lo sviluppo di ulteriori procedure statistiche, l'inclusione di migliori librerie di componenti orientate agli oggetti. Nel presente contesto, SAS occupa quasi l'80 percento del mercato complessivo dell'analisi statistica.

Un tipico programma SAS può essere diviso in due fasi, ovvero fase DATA e fase PROC. La fase DATA recupera e aiuta nella manipolazione dei dati mentre la fase PROC ha funzionalità per l'analisi dei dati e l'esecuzione di attività analitiche sui dati. Il passaggio Dati può essere ulteriormente suddiviso in due fasi che sono le fasi di compilazione ed Esecuzione.

Che cos'è un loop?

Nei fondamenti dei linguaggi di programmazione per computer, un ciclo può essere considerato come una catena o una sequenza di istruzioni esecutive che viene continuamente eseguita / ripetuta / o ripetuta fino al raggiungimento di una certa condizione. I loop vengono utilizzati per eseguire ripetutamente un blocco di istruzioni, nella classificazione del flusso in loop possiamo determinare se un loop è un loop controllato in entrata o se è un loop controllato in uscita, Il compilatore di programmazione prima di eseguire le istruzioni verifica se tutte le condizioni associate a l'inizio delle esecuzioni dei loop è validato e vero, questa attività è eseguita da loop controllati da Entry.

Per Exit Controlled Loop il compilatore convalida le condizioni associate alla conclusione di Loop. Durante il flusso dei loop viene completato un certo processo, come ottenere un parametro o qualsiasi elemento dai dati di input, analisi dei parametri o modificarlo, seguito da una condizione che controlla il valore limite come se un contatore (un flag valore associato al loop). Se le condizioni sono soddisfatte, l'istruzione successiva indica alla sequenza di tornare alla prima istruzione della sequenza e ripetere la sequenza. Una volta raggiunta la condizione, il flusso del compilatore si sposta verso i rami di istruzioni programmati presenti all'esterno del loop. Quindi un loop è un concetto di programmazione che viene comunemente utilizzato per ridurre la ridondanza e la complessità del codice.

Cicli in SAS

Di seguito sono riportati alcuni loop in SAS che sono i seguenti:

1. Iterative Do Loop

Do Loop noto anche come Iterative Do Loops è la forma più semplice di loop che vengono eseguiti su un set di dati SAS nel SAS Data Step. Questo ciclo è di natura totalmente incondizionata ed eseguito secondo la definizione per iterare sul numero fisso di conteggi o fino a quando non riceve un errore che causa il salto del flusso dal passaggio dei dati. Questo ciclo trova la sua utilità nei programmi utilizzati per il conteggio iterativo e nei programmi associati a calcoli matematici o statistici ripetitivi.

Sintassi:

faccio i = da n a m;

n e m sono variabili contatore.

2. Cicli condizionali

I cicli condizionali in SAS sono gli altri cicli che vengono eseguiti in passaggi di dati. Questi sono fondamentalmente due loop che sono Do While e Do fino a quando. La differenza tra i loop si basa sul fatto che i loop Do While continuano a essere eseguiti fino a quando la condizione per il loop è vera, mentre il loop Do Until verrà eseguito fino a quando la condizione specificata rimane falsa e il flusso si allontana dal loop non appena la condizione diventa falsa. Il ciclo Do Until viene eseguito nella parte inferiore del ciclo mentre il ciclo Do While viene eseguito nella parte superiore del ciclo. Questo dà la differenza principale tra i due loop che sono Do Until si eseguiranno almeno una volta quando vengono utilizzati nel programma, mentre Do While potrebbe non essere eseguito affatto come se la condizione non fosse vera, il flusso non entrerà nell'iterazione Loop.

Sintassi:

fare fino a (condizione);

fare while (condizione);

Esempi di loop SAS

Proviamo a capire il concetto di loop in SAS usando i programmi:

Esempio 1: esegui loop

Programma

data Test;
money = 10000
do i = 1 to 10;
money = money - 1000;
output;
end;
run;

Produzione

I soldiio
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Spiegazione:

Nell'esempio sopra, dichiariamo una variabile (denaro) inizializzata con un valore di 10000, il programma scorre attraverso il contatore caricato con un valore iniziale di 0 per iterare più di 10 volte. Ogni iterazione riduce il valore della variabile con 1000. L'istruzione output viene eseguita prima della fine del ciclo.

Esempio 2: Do While Loop

Programma

run;
data Test;
money = 10000;
newCounter = 0;
do while (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;

Produzione

i soldinewCounter
1010

Spiegazione

Nell'esempio sopra, dichiariamo due variabili money e newCounter e inizializziamo rispettivamente con valori 10000 e 0. Il passaggio dei dati viene eseguito fino a quando il valore della variabile monetaria raggiunge 0 che in questo caso richiede 10 iterazioni, su ogni iterazione la variabile newCounter viene incrementata di un valore di 1. In questo programma stiamo utilizzando newCounter come variabile contatore.

Esempio 3: Do Until Loop

Programma

data Test;
money = 10000;
newCounter = 0;
do until (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
run;
Produzione

i soldinewCounter
1010

Spiegazione

In questo esempio, stiamo cercando di replicare la funzionalità dell'Esempio del ciclo Do mentre illustrato sopra usando comunque il ciclo do fino. Il denaro variabile e newCounter sono inizializzati con un valore iniziale rispettivamente di 10000 e 0. Il do fino a quando il ciclo viene eseguito a condizione che la variabile money non sia uguale a zero, l'esecuzione del flusso si sposta fuori dal loop non appena il valore della variabile raggiunge lo zero, che in questo caso richiede 10 iterazioni.

Conclusione

Così abbiamo definito i diversi tipi di loop in SAS e spiegato le loro funzionalità in base al loro flusso di controllo. Tuttavia, esiste un loop aggiuntivo che è stato sviluppato di recente per eseguire la scansione su un array indicizzato. Tuttavia, non può essere considerato un ciclo regolare in SAS in quanto è un ciclo composito per l'esecuzione di istruzioni iterative su variabili sovra-indicizzate come un array.

Articoli consigliati

Questa è stata una guida ai loop in SAS. Qui abbiamo discusso l'introduzione di loop in SAS, diversi tipi di loop con esempi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Che cos'è un linguaggio di programmazione?
  2. Introduzione ai loop in C ++
  3. Guida a Che cos'è SAS
  4. Cicli in R
  5. Diversi tipi di loop con i suoi vantaggi
  6. Loop in PowerShell | Tipi e vantaggi

Categoria: