Bevezetés a hurkokba a SAS-ban
A SAS mint analitikai megoldás az 1970-es években jött létre az Észak-Karolinai Állami Egyetemen, az elkövetkező évtizedekben további statisztikai eljárások kidolgozására és jobb objektum-orientált komponens könyvtárak bevezetésére irányultak. A jelenlegi helyzetben az SAS a teljes statisztikai elemzési piac közel 80% -át elfoglalja.
Egy tipikus SAS programot két lépésre lehet felosztani, nevezetesen a DATA lépésre és a PROC lépésre. A DATA lépés lekérdezi és segíti az adatok kezelését, míg a PROC lépés funkciókkal rendelkezik az adatok elemzéséhez és az adatok elemzéséhez. Az adatlépés tovább osztható két fázisra, amelyek összeállítási és végrehajtási fázisok.
Mi a hurok?
A számítógépes programozási nyelvek alapjaiban a hurok tekinthető végrehajtási utasítások láncának vagy sorozatának, amelyet folyamatosan hajtanak végre / ismételnek meg / vagy iterálnak, amíg egy bizonyos feltétel meg nem valósul. A hurkok a mondatok blokkjának többszöri végrehajtására szolgálnak, a hurkok folyamatának osztályozásában meghatározhatjuk, hogy a hurok belépésvezérelt hurok, vagy kilépésvezérelt hurok. A programozási fordító az állítások végrehajtása előtt ellenőrzi, hogy az összes a hurkok végrehajtásának kezdete érvényes és igaz, ezt a tevékenységet belépésvezérelt hurkok hajtják végre.
Kilépésvezérelt hurok esetén a fordító érvényesíti a hurok megszüntetésével kapcsolatos feltételeket. A hurkok áramlása során egy bizonyos folyamat befejeződik, például egy paraméter vagy bármely elem beolvasása a bemeneti adatokból, a paraméterek elemzése vagy megváltoztatása, amelyet egy olyan feltétel követ, amely ellenőrzi a határértéket, például hogy számláló (zászló) a hurokhoz társított érték). Feltételek esetén, ha teljesül, a következő utasítás a szekvenciát arra utasítja, hogy visszatérjen a sorozat első utasításához, és ismételje meg a sorozatot. Miután a feltétel elérte a fordító áramlását a hurokon kívül található programozott utasításágakra mozgatja. Így a hurok egy programozási koncepció, amelyet általában használnak a kód redundanciájának és összetettségének csökkentésére.
Hurok a SAS-ben
Az alábbiakban látható néhány hurok a SAS-ban, amelyek a következők:
1. Iteratív hurkok
A Do Loop, amely Iteratív Do hurokként is ismert, a hurok legalapvetőbb formája, amelyet egy SAS adatkészletben hajtanak végre a SAS Data Step-ben. Ez a hurok teljesen feltétlen természetű, és a definíció szerint úgy hajtódik végre, hogy a rögzített számlálásokon keresztül iteráljon, vagy mindaddig, amíg hibát nem kap, amelynek eredményeként az adatlépést átugorja. Ez a hurok hasznosnak bizonyul az iteratív számoláshoz használt programokban és az ismétlődő matematikai vagy statisztikai számításokhoz kapcsolódó programokban.
Szintaxis:
i = n-től m-ig;
n és m számlálók.
2. Feltételes hurkok
A másik ciklusok, amelyek adatlépésekben kerülnek végrehajtásra, a SAS-ben a feltételes hurkok. Ez alapvetően két hurok, amelyek a Do Míg és a Do add ig. A hurkok közötti különbség azon a tényen alapszik, hogy a Do Míg hurkok addig folytatják a végrehajtást, amíg a hurok feltétele igaz lesz, míg a Do Még hurok addig fog futni, amíg a megadott feltétel hamis marad, és az áramlás elmozdul a huroktól, amint a feltétel hamis lesz. A Do Do hurkot a hurok alján hajtják végre, míg a Do Who hurkot a hurok tetején hajtják végre. Ez nagy különbséget ad a két hurok között, amelyek Do Do funkciók legalább egyszer végrehajtódnak, amikor a programban használják, míg a Do investeerés esetleg egyáltalán nem kerül végrehajtásra, mintha a feltétel nem igaz, akkor az áramlás nem kerül a hurkok iterációjába.
Szintaxis:
addig (feltétel);
do míg (feltétel);
Példák a SAS hurkokra
Próbáljuk megérteni a hurkok fogalmát a SAS-ban a SAS használatával:
1. példa: Csinálj hurkot
Program
data Test;
money = 10000
do i = 1 to 10;
money = money - 1000;
output;
end;
run;
Kimenet
Pénz | én | |
1 | 9000 | 1 |
2 | 8000 | 2 |
3 | 7000 | 3 |
4 | 6000 | 4 |
5 | 5000 | 5 |
6 | 4000 | 6 |
7 | 3000 | 7 |
8 | 2000 | 8 |
9 | 1000 | 9 |
10 | 0 | 10 |
Magyarázat:
A fenti példában 10000 értékkel inicializált változót (pénzt) deklarálunk, a program a 0 kezdeti értékkel betáplált számlálón 10-szeresen iterálódik. Minden iteráció csökkenti a változó értékét 1000-rel. A kimeneti utasítás a hurok vége előtt kerül végrehajtásra.
2. példa: Csináljon hurkot
Program
run;
data Test;
money = 10000;
newCounter = 0;
do while (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
Kimenet
pénz | newCounter | |
1 | 0 | 10 |
Magyarázat
A fenti példában két pénz és newCounter változót deklarálunk, és inicializáljuk őket 10000 és 0 értékkel. Az adatlépést addig hajtjuk végre, amíg a pénzváltozó értéke el nem éri a 0-at, amely ebben az esetben 10 ismétlést vesz igénybe, minden iterációnál az newCounter változót 1-gyel növelik. Az newCounter-et számláló változóként használjuk ebben a programban.
3. példa: Csináld a hurkot
Program
data Test;
Kimenet
money = 10000;
newCounter = 0;
do until (money > 0);
money = money - 1000;
newCounter = newCounter + 1;
end;
run;
pénz | newCounter | |
1 | 0 | 10 |
Magyarázat
Ebben a példában megpróbáljuk megismételni a Példa a Do közben, míg a fent ábrázolt hurok funkcióját, azonban a do ig hurkot használjuk. A pénz és az newCounter változó inicializálása 10000 és 0 kezdeti értékkel történik. Addig tegye, amíg a hurkot végrehajtják azzal a feltétellel, hogy a pénzváltozó nem egyenlő nullával, és az áramlás végrehajtása kikerül a hurokból, amint a változó értéke eléri a nullát, amely ebben az esetben 10 iterációt vesz igénybe.
Következtetés
Így meghatároztuk a hurkok különféle típusait a SAS-ben, és azok működését a vezérlőáramlás alapján magyaráztuk meg. Van azonban egy további hurok, amelyet a közelmúltban fejlesztettek ki az indexelt tömb átvizsgálására. Ugyanakkor nem tekinthető szabályos huroknak a SAS-ben, mivel összetett hurok iteratív utasítások végrehajtására, túlindexált változók, például egy tömb végrehajtására.
Ajánlott cikkek
Ez egy útmutató a SAS hurkokhoz. Itt megbeszéljük a hurkok bevezetését a SAS-ban, Különböző típusú hurkok példákkal. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Mi a programozási nyelv?
- Bevezetés a C ++ hurkokba
- Útmutató a SAS-hoz
- Hurok R
- Különböző típusú hurkok és azok előnyei
- Hurok a PowerShellben Típusok és előnyök