Programare SAS - Aflați cum să codificați în SAS!



Acest blog despre programarea SAS vă introduce în conceptele de programare SAS și vă ajută să înțelegeți în detaliu diferitele elemente fundamentale ale SAS, cu exemple.

În acest blog, vă voi prezenta câteva dintre conceptele importante ale programării SAS. Înainte de a începe, este important să vă familiarizați cu SAS. Blogul meu anterior pe Tutorial SAS vă va ajuta să înțelegeți SAS, aplicațiile sale și vă va ajuta să instalați SAS University Edition, pe care l-am folosi aici ca mediu de programare. De asemenea, dacă intenționați să intrați în analiza datelor, este una dintre cele mai bune modalități de a începe cu același lucru.

Edureka 2019 Ghidul de carieră tehnică este disponibil! Cele mai tari roluri de locuri de muncă, căi de învățare precise, perspective industriale și multe altele în ghid. Descarca acum.





Deci, fără mai departeîntârziere,să începem cu programarea SAS, nu-i așa?

ce este hibernat în java

Acest blog vă va ajuta să înțelegeți următoarele subiecte:



Înainte de a începe codarea, aș dori să vă informez cu câțiva termeni importanți, care sunt importanți pentru programarea SAS.

Bazele programării SAS

Windows SAS

Organizațiile mari și institutele de instruire preferă utilizarea SAS Windows. SAS Windows are o mulțime de utilități care ajută la reducerea timpului necesar pentru scrierea codurilor.

Următoarea imagine prezintă diferitele părți ale Windows SAS.



SAS-Windows - Programare SAS - Edureka

  • Fereastra jurnal : Este o fereastră de execuție. Aici puteți verifica execuția programului dvs. De asemenea, afișează erori, avertismente și note.
  • Fereastra Cod :Această fereastră este cunoscută și sub numele de fereastră de editor. Considerați-o ca pe o hârtie goală sau ca un bloc de notă, unde puteți scrie codul dvs. SAS.
  • Fereastra de ieșire : După cum sugerează și numele, această fereastră afișează rezultatul programului / codului pe care îl scrieți în editor.
  • Fereastra de rezultate : Este un index care listează toate ieșirile programelor care sunt rulate într-o singură sesiune. Deoarece conține rezultatele unei anumite sesiuni, dacă închideți software-ul și îl reporniți, fereastra de rezultate va fi goală.
  • Explorați fereastra : Deține lista tuturor bibliotecilor din sistem. De asemenea, puteți răsfoi fișierele acceptate de sistem aici.

Câteva organizații folosesc Linux, cu toate acestea, fără o interfață grafică cu utilizatorul, trebuie să scrieți cod pentru fiecare interogare. Prin urmare, este incomod de utilizat.

Seturi de date SAS

Seturile de date SAS sunt numite fișiere de date. Fișierele de date constituie rânduri și coloane. Rândurile conțin observații și coloaneleNume variabile.

Variabile SAS

SAS are două tipuri de variabile:

  • Variabile numerice : Acesta este tipul de variabilă implicit. Aceste variabile sunt utilizate în expresiile matematice.
  • Variabile de caracter :Variabilele de caractere sunt utilizate pentru valori care nu sunt utilizate în expresiile matematice.
    Sunt tratate ca text sau șiruri. O variabilă devine o variabilă de caracter prin adăugarea unui„$”ignla sfârșitul numelui variabilei.

Biblioteci SAS

Biblioteca SAS este o colecție de fișiere SAS care sunt stocate în același folder sau director de pe computer.

  • Biblioteca temporară : În această bibliotecă, setul de date este șters când se termină sesiunea SAS.
  • Biblioteca permanentă : Seturile de date sunt salvate permanent. Prin urmare, acestea sunt disponibile în toate sesiunile.

Utilizatorii pot crea sau defini o nouă bibliotecă cunoscută sub numele de biblioteci definite de utilizator utilizând cuvântul cheie LIBNAME . Acestea sunt, de asemenea, biblioteci permanente.

Programare SAS: Structura codului SAS

Programarea SAS se bazează pe două elemente de bază:

  • Pasul DATA : Pasul DATA creează un set de date SAS și apoi trece datele pe un pas PROC
  • Pasul PROC : Pasul PROC procesează datele

Un program SAS ar trebui să respecte regulile menționate mai jos:

  • Aproape fiecare cod va începe fie cu DATA, fie cu un pas PROC
  • Fiecare linie de cod SAS se termină cu punct și virgulă
  • Un cod SAS se încheie cu cuvântul cheie RUN sau QUIT
  • Codurile SAS nu sunt sensibile la majuscule și minuscule
  • Puteți scrie un cod pe linii diferite sau puteți scrie mai multe afirmații într-o singură linie

Acum că am văzut câteva terminologii de bază, permiteți-ne să începem cu programarea SAS cu acest cod de bază:

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run

În codul de mai sus, am creat un set de date numit Employee_Info. Are trei variabile, o variabilă numerică ca Emp_Id și două variabile de caracter ca Emp_Name și Emp_Verticals. Comanda Run afișează setul de date în fereastra de ieșire.

Imaginea de mai jos arată ieșirea codului menționat mai sus.

Să presupunem că doriți să vedeți rezultatul în vizualizarea tipărită, puteți face asta folosind o procedură PROC PRINT, restul codului rămâne același.

DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ datalines 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run PROC PRINT DATA = Employee_Info Run

Imaginea de mai jos arată ieșirea codului de mai sus.

Tocmai am creat un set de date și am înțeles cum funcționează procedura PRINT. Acum, să luăm setul de date de mai sus și să-l folosim pentru programare ulterioară. Să presupunem că dorim să adăugăm data de angajare a angajatului la setul de date. Deci, creăm o variabilă numită DOJ, o dăm ca intrare și imprimăm rezultatul.

DATA Angajat_Input intrare Emp_ID Emp_Name $ Emp_Vertical $ DOJ date 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Executați PROC PRINT DATA = Executare informații_impiegat

Imaginea de mai jos arată ieșirea codului de mai sus. Este vizibil că a fost creată o variabilă, dar valoarea DOJ nu a fost tipărită. În schimb, vedem că punctele au înlocuit valorile datei.


De ce s-a întâmplat asta? Ei bine, variabila DOJ nu are sufixul „$”, ceea ce înseamnă că, în mod implicit, SAS o va citi ca o variabilă numerică. Dar datele pe care le-am introdus au un caracter special „/”, prin urmare nu imprimă rezultatul, deoarece nu sunt date doar numerice. Dacă bifați fereastra jurnal, veți vedea un mesaj de eroare ca „date nevalide pentru variabila DOJ”

Acum cum rezolvăm această problemă? Ei bine, o modalitate de a o rezolva este folosind un sufix „$” pentru variabila DOJ. Aceasta va converti variabila DOJ în caracter și veți putea imprima valorile datei. Să facem modificări la cod și să vedem rezultatul.

DATE Angajat_Info intrare Emp_ID Emp_Name $ Emp_Vertical $ DOJ $ date 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09 / 2016 Rulați PROC PRINT DATA = Angajați_Informații

Ecranul de ieșire va afișa următoarea ieșire.


Puteți vedea că valorile datelor sunt afișate ca date prin conversia DOJ în caracter. Cu toate acestea, aceasta este o soluție temporară. Lasă-mă să explic cum?

Ei bine, imaginați-vă că o bancă are un set de date similar. Setul de date conține detalii ale titularului contului, cum ar fi suma împrumutului, rateșidata scadenta pentru rata creditului. Imaginați-vă, deținătorul și-a pierdut termenul pentru a plăti o rată, iar banca vrea să calculeze întârzierea. Banca va trebui să calculeze diferența dintre data limită și data curentă.

Dar, dacă setul de date al băncii are date în format de caractere, atunci banca nu va putea efectua operații matematice pe acesta. Această problemă poate afecta și setul nostru de date. Deci, cum rezolvăm această problemă?

Următorul concept vă va ajuta să depășiți această problemă.

Informate și formate în SAS

Este important să înțelegeți bine acest subiect dacă doriți să vă pricepeți la programarea SAS.Dacă vă amintiți, am menționat mai devreme că SAS are două tipuri de variabile standard:

  • Numeric
  • Caracter

Când SAS întâlnește variabile care nu sunt standard, SAS va genera o eroare sau nu veți obține rezultatul dorit. Pentru a depăși această problemă, SAS foloseșteInformatși formate.

Află mai multe

Informatele sunt de obicei utilizate pentru a citi sau introduce date din fișiere externe sau fișiere plate (cum ar fifișiere text sau fișiere secvențiale). Informatorul instruiește SAS despre cum să citeascădate în variabile SAS. SAS are trei tipuri de informații:caracter, numeric și dată / oră. Informatorii sunt denumiți în conformitate cu următoarelestructura sintaxei:

  • Caracter Informat: $ INFORMATw.
  • Numeric Informat: INFORMATw.d
  • Date/ Time Informat: INFORMATw.

„$” Indică o informație de caracter. INFORMAT se referă la uneori opționalNumele informatic SAS. „W” indică lățimea (octeți sau numărul de coloane)variabil. „D” este utilizat pentru date numerice pentru a specifica numărul de cifre din dreaptazecimala. Toate informațiile trebuie să conțină un punct zecimal (.), Astfel încât SAS să poată
diferențiați un informat de o variabilă SAS.

Să ne întoarcem la codul nostru anterior și să vedem dacă Data / Time Informat ne ajută. Deci, să schimbăm codul în consecință și să adăugăm un Date Date la acesta după cum urmează:

DATA Angajat_Info intrare Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Run PROC PRINT DATA = Employee_Info Run

Linia numărul 3 din cod instruiește SAS să citească variabila „data aderării” (DOJ) folosind data
informează MMDDYYw. Pentru fiecare câmp de dată ocupă 10 spații, calificativul „w.” Estesetat la 10.

Ieșirea codului ar arăta după cum urmează.

Rezultatul arată că încă nu avem rezultatul dorit, în schimb coloana DOJ conține unele valori numerice și nu datele specificate de noi. Acum, de ce este asta? Ei bine, odată ce o dată este citită cu un informat de dată, SAS stochează data ca număr. Asta înseamnă că este citit ca numărul de zile dintre data și 1 ianuarie 1960 (De exemplu: 15.03.1994 este stocat ca 12492).

Motivul din spatele acestui fapt este că SAS are trei contoare separate care țin evidența datelor și orei. Aceste contoare de date au început la zero la 1 ianuarie 1960. Prin urmare, datele anterioare 1/1/1960 au valori negative și orice dată ulterioară are o valoare pozitivă. În fiecare zi la miezul nopții, contorul de date este mărit cu unul.

O poveste spune că fondatorii SAS au dorit să utilizeze data aproximativă a nașterii sistemului IBM 370 și au ales 1 ianuarie 1960 ca o aproximare ușor de reținut.

Acum că știți motivul pentru care coloana DOJ a afișat aceste numere, să încercăm să rezolvăm această problemă. Pentru a depăși această problemă, folosim Format.

Format

Informatele sunt instrucțiunile pentru citirea datelor, în timp ce formatele sunt instrucțiunile utilizate pentru afișare saudate de ieșire.Definirea unui format pentru o variabilă este modul în care îi spuneți SAS să afișeze valorile din variabilă. Formatele sunt grupate în aceleași trei clase ca informatele (caracter, numeric și dată-oră) și conțin întotdeauna un punct.

Forma generală a unei declarații de format este:

  • FORMAT nume-variabilă FORMAT-NAME.

Să ne întoarcem la codul nostru cu set de date Employee_Info pentru a vedea dacă putem afișa corect data folosind comanda FORMAT.

DATA Angajat_Info intrare Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMAT DOJ ddmmyy10. datalines 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Run PROC PRINT DATA = Employee_Info Run

Am folosit comanda FORMAT în linia numărul 4 din codul de mai sus. Următorul ecran de ieșire ne va oferi ieșirea dorită.

Am afișat cu succes setul de date folosind comanda Format date. Sper că ați înțeles cum să utilizați formatul și informatiile.Să mergem mai departe cu blogul nostru de programare SAS și să aruncăm o privire la un alt concept important.

Bucle SAS

În timp ce facem programare SAS, putem întâlni situații în care trebuie să executăm în mod repetat unbloc de cod de mai multe ori. Este incomod să scrieți același set de declarații din nou și din nou. Aici intră în imagine buclele. În SAS, instrucțiunea Do este utilizată pentru a implementa bucle. Este, de asemenea, cunoscut sub numele de Do Loop. Imaginea de mai jos aratăforma generală a instrucțiunilor Do loop din SAS.

Următoarele sunt tipurile de bucle DO în SAS:

  • Index : Bucla continuă de la valoarea de pornire până la valoarea de oprire a variabilei index.
  • In timp ce : Bucla continuă atâta timp cât In timp ce condiția devine falsă.
  • Pana cand : Bucla continuă până la Pana cand condiția devine adevărată.

Faceți bucla Index

Folosim o variabilă index ca valoare de pornire și oprire pentru Faceți bucla Index . Instrucțiunile SAS sunt executate în mod repetat până când variabila index atinge valoarea finală.
Sintaxă:

Do indexvariable = initialvalue to finalvalue SAS statement End

Să aruncăm o privire la exemplul de cod pentru a înțelege Do Index Loop. În codul de mai jos, VAR este variabila index.

DATA SampleLoop SUM = 0 Faceți VAR = 1 până la 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run

Când executați codul de mai sus, veți obține următoarea ieșire.

Faceți în timp ce buclați

Face în timp ce bucla utilizează o condiție WHILE. Această buclă execută blocul de cod atunci când condiția este adevărată și continuă să o execute, până când condiția devine falsă. Odată ce condiția devine falsă, bucla este terminată.

Sintaxă:

Declarațiile SAS Do While (condiție) se termină

Următorul exemplu de cod vă va ajuta să înțelegeți bucla DO WHILE.

DATA SampleLoop SUM = 0 VAR = 1 Do While (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run 

Codul de mai sus vă va oferi următoarea ieșire.

Fă până la buclă

Bucla Do Until utilizează un Pana cand Această buclă execută blocul de cod atunci când condiția este falsă și continuă să o execute, până când condiția devine adevărată. Odată ce condiția devine adevărată, bucla este terminată.

Sintaxă:

Fă până (condiție) declarațiile SAS END

Să aruncăm o privire asupra programului eșantion.

DATA SampleLoop SUM = 0 VAR = 1 Faceți până (VAR> 15) SUM = SUM + VAR VAR + 1 END PROC PRINT Run

Codul are următoarea ieșire.

Astfel am terminat conceptul de bucle în programarea SAS. Toate subiectele pe care le-am studiat până acum au vorbit despre elementele de bază ale programării SAS în general.

Acum să aruncăm o privire asupra unor proceduri statistice. Aceste proceduri vor constitui o bază pentru avansat proceduri analitice.

Abonați-vă la canalul nostru YouTube pentru a primi noi actualizări ..!

Proceduri statistice de bază folosind SAS

MIJLOACE PROC

Această procedură este utilizată pentru a calcula media aritmetică și deviația standard. Pentru persoanele care sunt noi în domeniul statisticilor le este greu să înțeleagă acești termeni. Deci, înainte de a începe codarea și de a folosi această procedură. Voi încerca să explic ce înseamnă acești termeni.

Să începem cu media aritmetică și să vedem cum se utilizează PROC MEANS în programarea SAS pentru a o calcula.

Media aritmetică

Suma valorii variabilelor numerice, împărțită la numărul de variabile vă oferă medie aritmetică . Este, de asemenea, cunoscut sub numele de medie și este o măsură a tendinței centrale. O măsură a tendinței centrale este o valoare unică care încearcă să descrie un set de date prin identificarea poziției centrale în cadrul acelui set de date.

În programarea SAS, utilizați PROC MEANS pentru a calcula media aritmetică. Această procedură vă permite să găsiți media tuturor variabilelor sau puține variabile ale unui set de date. De asemenea, puteți forma grupuri și puteți calcula media variabilelor specifice grupului respectiv.

Sintaxă:

PROC MEANS DATA = DATASET Clasa Variabile Var Variabile
  • Variabile : Variabilele din sintaxa de mai sus indică variabile din setul de date a căror medie trebuie calculată.

Media unui set de date

daca tufurnizați numai numele setului de date fără variabile, puteți calcula media tuturor variabilelor dintr-un set de date.

Să aruncăm o privire la un exemplu de cod. Am considerat un set de date SAS predefinit numit „mașini”. Următoarea comandă va afișa setul de date.

PROC PRINT data = sashelp.CARS Run

Imaginea de mai jos arată ieșirea codului de mai sus.


Acum, să folosim acest cod de set de date și să calculăm media fiecărei variabile din setul de date„Mașini”.

PROC MEANS DATA = sashelp.CARS Mean SUM MAXDEC = 2 Run

Imaginea de mai jos arată media tuturor variabilelor din setul de date până la două zecimale.

Media variabilelor selectate

Furnizând numele din opțiunea Var puteți obține media variabilelor specificate. Vă rugăm să consultați codul de mai jos.

PROC MEANS DATA = sashelp.CARS înseamnă SUM MAXDEC = 2 var cilindri de cai putere Run

Medie după clasă

Puteți găsi media variabilelor numerice organizându-le în grupuri folosindun parametru pentru a le grupa.Luați în considerare următorul exemplu de cod. Să aflăm media puterii de cai pentru diferite grupuri clasificate după clasele „marca” și „tipul” diferitelor mașini.

PROC MEANS DATA = sashelp.CARS MEANS SUM MAXDEC = 2 class make type var horsepower Run

Imaginea de mai jos arată ieșirea codului de mai sus.

Să continuăm cu blogul nostru de programare SAS și să aruncăm o privire la un alt concept statistic important.

Deviație standard

Abaterea standard (SD) este o măsură a cât de variate sunt datele dintr-un set de date dat. Din punct de vedere matematic, vă arată cât de aproape este fiecare punct de date de valoarea medie a unui set de date. Dacă valoarea deviației standard este apropiată de 0, aceasta indică faptul că punctele de date sunt foarte apropiate de media setului de date și o abatere standard ridicată indică faptul că punctele de date sunt distribuite pe o gamă largă de valori.

În SAS, puteți calcula valoarea deviației standard utilizând două proceduri. Sunt:

  • MIJLOACE PROC
  • SURVEYMEANS

Abaterea standard utilizând mijloacele PROC

Puteți măsura abaterea standard utilizând mijloace proc, trebuie să alegeți ORE opțiunea din pasul PROC. Va afișa valorile deviației standard pentru fiecare variabilă numerică din setul de date.

Sintaxă:

PROC MEANS DATA = set de date STD

Luați în considerare acest exemplu de cod, permiteți-ne să creăm un alt set de date CARS1 din setul de date CARS din biblioteca SASHELP. Pentru a face acest lucru, ne permiteți să folosim procedura PROC SQL. Să grupăm datele folosind „tip” și „marca” de mașini și să calculăm abaterea standard pentru variabilele selectate utilizând opțiunea STD cu pasul PROC înseamnă.

PROC SQL creează tabelul CARS1 ca SELECT marca, tipul, puterea, cilindrii, greutatea DE LA SASHELP. CARS WHERE make in („Audi”, „BMW”) RUN PROC MEANS DATA = CARS1 STD Run

Codul de mai sus va da abaterea standard pentru variabilele selectate. Următoarea imagine afișează ieșirea.

SURVEYME PROC

Această procedură este utilizată pentru a măsura abaterea standard împreună cu unele caracteristici avansate, cum ar fi măsurarea abaterii standard pentru variabilele categorice și varianța.

Sintaxă:

PROC SURVEYMEANS opțiuni statistice-cuvinte cheie După variabile Variabile de clasă Variabile variabile

Următoarea este descrierea parametrilor utilizați:

  • De este folosit pentru a indica variabilele utilizate pentru a crea grupuri de observații.
  • Clasă indică variabilele utilizate pentru variabilele categorice.
  • Unde indică variabilele pentru care se va calcula SD.

Să aruncăm o privire la acest exemplu de cod care descrie utilizarea parametrului de clasă, care creează statistici pentru fiecare dintre valorile variabilei de clasă.

PROC SURVEYMEANS DATA = CARS1 STD Tip de clasă Var tip cai putere ieșire statistici = dreptunghi Executare PROC PRINT DATA = dreptunghi Executare

Imaginile de mai jos prezintă ieșirea codului de mai sus. Acesta arată distribuirea datelor pentru variabila „Putere” pentru un interval de încredere de 95%. (Interval de încredere înseamnă o gamă de valori atât de definită încât există o probabilitate specificată ca valoarea unui parametru să se afle în interiorul acestuia.)

Deci, asta ne aduce la sfârșitul blogului de programare SAS. Pentru orice îndoială sau problemă cu conținutul blogului, vă rugăm să le lăsați în secțiunea de comentarii, le voi rezolva cel mai devreme și vă voi răspunde.

Dacă doriți să învățați SAS și să construiți o carieră în domeniul analizei, consultați pagina noastră care vine cu instruire live condusă de instructor și experiență în viața reală a proiectului. Această instruire vă va ajuta să înțelegeți SAS în profunzime și vă va ajuta să stăpâniți diverse concepte ale limbajului de programare SAS.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.