Introduksjon til løkker i SAS

SAS som en analytisk løsning ble opprettet ved North Carolina State University på 1970-tallet, de kommende tiårene ble det utviklet ytterligere statistiske prosedyrer, inkludert bedre objektorienterte komponentbiblioteker. I den nåværende konteksten okkuperer SAS nesten 80 prosent av det totale statistiske analysemarkedet.

Et typisk SAS-program kan deles i to trinn, nemlig DATA-trinn og PROC-trinn. DATA-trinnet henter og hjelper med å manipulere dataene, mens PROC-trinnet har funksjoner for å analysere dataene og utføre analytiske aktiviteter på dataene. Datatrinnet kan videre deles inn i to faser som er samlings- og utførelsesfaser.

Hva er en sløyfe?

I grunnleggende programmeringsspråk for datamaskiner kan en sløyfe betraktes som en kjede eller sekvens av utøvende instruksjoner som kontinuerlig utføres / gjentas / eller itereres til en viss betingelse er oppnådd. Loops brukes til gjentatte ganger å utføre en blokk med uttalelser, ved klassifisering av flyt i løkker kan vi bestemme om en loop er en inngangskontrollert sløyfe eller om den er exit-kontrollert loop. begynnelsen av løkkene henrettelser er validert og sann, denne aktiviteten utføres av inngangskontrollerte løkker.

For Exit Controlled Loop validerer kompilatoren forholdene knyttet til terminering av Loop. Under strømmen av løkkene er en viss prosess fullført, for eksempel å hente en parameter eller et hvilket som helst element fra inndatadataene, analyse av parametrene eller endre den, etterfulgt av en tilstand som kontrollerer begrensningsverdien, for eksempel om en teller (et flagg) verdi assosiert med loopen). For betingelsene, hvis den er tilfredsstilt, instruerer den påfølgende instruksjon sekvensen for å gå tilbake til den første instruksjonen i sekvensen og gjenta sekvensen. Når tilstanden har nådd, flytter kompilatorens strøm til programmerte instruksjonsgrener som er tilstede utenfor løkken. Dermed er en sløyfe et programmeringskonsept som ofte brukes for å redusere kodedundans og kompleksitet.

Looper i SAS

Nedenfor er en rekke løkker i SAS som er som følger:

1. Iterative Do Loops

Do Loop, også kjent som Iterative Do Loops, er den mest grunnleggende formen for løkker som utføres på et SAS-datasett i SAS Data Step. Denne sløyfen er helt ubetinget og utføres i henhold til definisjonen for å iterere over det faste antall teller eller til den mottar en feil som resulterer i flyten å hoppe over fra datatrinnet. Denne Loop finner nytten i programmer som brukes til iterativ telling og programmer assosiert med repetitive matematiske eller statistiske beregninger.

syntaks:

gjør jeg = n til m;

n og m er tellervariabler.

2. Betingede løkker

Betingede løkker i SAS er de andre sløyfer som kjøres over i datatrinn. Dette er i utgangspunktet to løkker som er Do While og Do tills. Forskjellen mellom løkkene er basert på det faktum at Do While-løkkene fortsetter å utføre til betingelsen for sløyfen er sann, mens Do-sløyfen vil kjøres til den angitte tilstanden forblir falsk og flyten beveger seg bort fra løkken så snart som tilstanden blir falsk. Do-sløyfen utføres på bunnen av løkken, mens Do While Loop utføres øverst på løkken. Dette gir den største forskjellen mellom de to løkkene som er Do Till, vil kjøres minst en gang når de brukes i programmet, mens Do While kanskje ikke kjøres i det hele tatt som om tilstanden ikke er sann, strømmen vil ikke gå inn i Loops-iterasjonen.

syntaks:

gjøre til (betingelse);

gjøre mens (tilstand);

Eksempler på SAS Loops

La oss prøve å forstå begrepet looper i SAS ved å bruke programmer:

Eksempel 1: Gjør loop

Program

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

Produksjon

PengerJeg
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Forklaring:

I eksemplet ovenfor erklærer vi at en variabel (penger) initialiseres med en verdi av 10000, programmet løkker gjennom telleren lastet med en startverdi på 0 for å itereere over 10 ganger. Hver iterasjon reduserer verdien for variabelen med 1000. Utgangsuttalelsen utføres før sløyfen slutter.

Eksempel 2: Do While Loop

Program

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

Produksjon

pengernewCounter
1010

Forklaring

I eksemplet ovenfor erklærer vi to variabler penger og newCounter og initialiserer dem med verdiene 10000 og 0. Datatrinnet utføres til pengevariabelverdien når 0 som i dette tilfellet tar 10 iterasjoner, over hver iterasjon økes den nyeCounter-variabelen med en verdi av 1. Vi bruker newCounter som en motvariabel i dette programmet.

Eksempel 3: Gjør til sløyfe

Program

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

pengernewCounter
1010

Forklaring

I dette eksemplet prøver vi å gjenskape funksjonaliteten til eksempelet på gjør mens sløyfen illustrert ovenfor, men bruker do til løkken. De variable pengene og newCounter initialiseres med en startverdi på henholdsvis 10000 og 0. Gjøringen til sløyfen utføres under forutsetning av at pengevariabelen ikke er lik null, flyteutførelsen beveger seg ut av løkken så snart variabelen når null som i dette tilfellet tar 10 iterasjoner.

Konklusjon

Dermed har vi definert de forskjellige typer løkker i SAS og forklart funksjonalitet deres basert på deres flyt av kontroll. Imidlertid er det en ekstra sløyfe som har blitt utviklet nylig for å skanne over en indeksert matrise. Imidlertid kan det ikke betraktes som en vanlig sløyfe i SAS, da det er en sammensatt løkke for å utføre iterative uttalelser som er overindekserte variabler, for eksempel en matrise.

Anbefalte artikler

Dette har vært en guide til Loops i SAS. Her diskuterte vi introduksjonen av Loops i SAS, Ulike typer looper med eksempler. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hva er et programmeringsspråk?
  2. Introduksjon til Loops i C ++
  3. Guide til Hva er SAS
  4. Looper i R
  5. Ulike typer løkker med fordelene
  6. Looper i PowerShell | Typer og fordeler

Kategori: