Introduktion till slingor i SAS

SAS som en analytisk lösning skapades vid North Carolina State University på 1970-talet, under de kommande decennierna utvecklades ytterligare statistiska förfaranden, införandet av bättre objektorienterade komponentbibliotek. I det nuvarande sammanhanget upptar SAS nästan 80 procent av den totala statistiska analysmarknaden.

Ett typiskt SAS-program kan delas upp i två steg, nämligen DATA-steg och PROC-steg. DATA-steget hämtar och hjälper till i manipulering av data medan PROC-steget har funktioner för att analysera data och utföra analytiska aktiviteter på data. Datasteget kan vidare delas in i två faser som är sammanställnings- och exekveringsfaser.

Vad är en slinga?

I grunderna i datorprogrammeringsspråk kan en slinga betraktas som en kedja eller sekvens av verkställande instruktioner som kontinuerligt utförs / upprepas / eller itereras tills ett visst villkor uppnås. Loops används för att upprepade gånger utföra ett block med uttalanden, vid klassificering av flöde i slingor kan vi bestämma om en slinga är en ingångskontrollerad slinga eller om den är utgångsstyrd slinga. Programmeringskompileraren innan exekvering av uttalanden kontrollerar om alla villkor förknippade med början av slingorna avrättningar valideras och sant, denna aktivitet utförs av inträdeskontrollerade slingor.

För utgångsstyrd slinga validerar kompilatorn villkoren associerade med avslutningen av slingan. Under flödet av slingorna är en viss process avslutad, såsom att hämta en parameter eller något objekt från inmatningsdata, analys av parametrarna eller ändra den, följt av ett villkor som kontrollerar begränsningsvärdet, t.ex. om en räknare (en flagga värde kopplat till slingan). Om villkoren är uppfyllda leder den efterföljande instruktion sekvensen för att återgå till den första instruktionen i sekvensen och upprepa sekvensen. När tillståndet har nåtts flyttas kompilatorns flöde till programmerade instruktionsgrenar som finns utanför slingan. Således är en loop ett programmeringskoncept som vanligtvis används för att minska kodredundans och komplexitet.

Loops i SAS

Nedan finns ett antal slingor i SAS som är följande:

1. Iterativa Do Loops

Do Loop, även känd som Iterative Do Loops, är den mest grundläggande formen av slingor som körs på ett SAS-datasätt i SAS Data Step. Denna slinga är helt ovillkorlig och utförs enligt definitionen för att iterera över det fasta antalet räkningar eller tills den får ett fel som resulterar i flödet att hoppa över från datasteget. Denna slinga hittar sin nytta i program som används för iterativ räkning och program som är associerade med repetitiva matematiska eller statistiska beräkningar.

Syntax:

gör jag = n till m;

n och m är räknarvariabler.

2. Villkorliga slingor

Villkorade slingor i SAS är de andra gör slingor som körs över i datasteg. Dessa är i princip två slingor som är Do While och Do tills. Skillnaden mellan slingorna är baserad på det faktum att Do While-slingorna fortsätter att köras tills villkoret för slingan är sant, medan Do Till-loopen kommer att köras tills det angivna villkoret förblir falskt och flödet rör sig bort från slingan så snart som villkoret blir falskt. Do tills-slingan körs längst ner på slingan medan Do While Loop körs längst upp på slingan. Detta ger den största skillnaden mellan de två slingorna som är Do tills kommer att köras minst en gång när de används i programmet medan Do While kanske inte körs alls som om villkoret inte är sant kommer flödet inte att gå in i Loops-iterationen.

Syntax:

gör tills (villkor);

gör medan (villkor);

Exempel på SAS Loops

Låt oss försöka förstå begreppet loopar i SAS med hjälp av program:

Exempel 1: Gör slingan

Program

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

Produktion

Pengarjag
190001
280002
370003
460004
550005
640006
730007
820008
910009
10010

Förklaring:

I exemplet ovan förklarar vi en variabel (pengar) initialiserad med ett värde av 10000, programmet slingrar genom räknaren laddat med ett initialvärde på 0 för att iterera över 10 gånger. Varje iteration minskar värdet för variabeln med 1000. Utsignalen sätts ut innan slingan slutar.

Exempel 2: Do While Loop

Program

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

Produktion

pengarnewCounter
1010

Förklaring

I exemplet ovan förklarar vi två variabler pengar och newCounter och initialiserar dem med värden 10000 respektive 0. Datasteget körs tills pengarvariabelvärdet når 0 vilket i detta fall tar 10 iterationer, över varje iteration ökas den nyaCounter-variabeln med ett värde av 1. Vi använder newCounter som en motvariabel i detta program.

Exempel 3: Gör tills slingan

Program

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

pengarnewCounter
1010

Förklaring

I det här exemplet försöker vi replikera funktionaliteten i exemplet på Do medan slingan illustrerad ovan, men använder do tills loopen. Variabla pengar och newCounter initialiseras med ett initialvärde på 10000 respektive 0. Do tills slingan exekveras under förutsättningen att pengarvariabeln inte är lika med noll, flödesutförandet rör sig ut ur slingan så snart det variabla värdet når noll vilket i detta fall tar 10 iterationer.

Slutsats

Således har vi definierat de olika typerna av slingor i SAS och förklarat deras funktionaliteter baserat på deras flöde av kontroll. Men det finns en ytterligare slinga som har utvecklats nyligen för att skanna över en indexerad matris. Det kan emellertid inte betraktas som en vanlig slinga i SAS eftersom det är en sammansatt slinga för att utföra iterativa uttalanden överindexerade variabler som en matris.

Rekommenderade artiklar

Detta har varit en guide till Loops i SAS. Här diskuterade vi introduktionen av Loops i SAS, olika typer av slingor med exempel. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är ett programmeringsspråk?
  2. Introduktion till Loops i C ++
  3. Guide till Vad är SAS
  4. Öglor i R
  5. Olika typer av slingor med dess fördelar
  6. Loops i PowerShell | Typer och fördelar

Kategori: