Sunteți pe pagina 1din 30

II.

Pachete software integrate –


SAS
Prof.Dr. Adina Uta
Realizarea de rapoarte agregate şi de detaliu - Afişarea datelor
PROC PRINT DATA = set_date NOOBS LABEL;

NOOBS suprimă afişarea numărului observaţiei.


LABEL afişează eticheta, în loc de numele variabilei.
BY lista_variabile; iniţiază în rezultate o nouă secţiune pentru fiecare valoare
nouă a variabilelor de grupare şi scrie valorile variabilelor de grupare în
partea de sus a fiecărei secţiuni. Datele trebuie să fie sortate în prealabil
după variabilele de grupare.
ID lista_variabile; numerele observaţiilor nu vor fi afişate. Înschimb, variabilele
din lista_variabile vor apărea în partea stângă a paginii.
SUM lista_variabile; Declaraţia afişează sume ale valorilor variabilelor din
listă.
VAR lista_variabile; Specifică variabilele afişate şi ordinea acestora.
N = numărul total de observații din setul de date se imprimă în partea de jos a
listei. Dacă se doreşte se poate utiliza formularea N = "eticheta dvs."
pentru a eticheta acest număr cu o etichetă aleasă de utilizator.
DOUBLE va dubla spaţiile dintre rânduri (proc print data= vanzări double;)
OBS=n premite listarea primelor n observăţii
FIRSTOBS=n
HEADING =
VAR permite specificarea variabilelor care vor fi afişate şi ordinea lor
PROC PRINT DATA= vanzări (OBS=5);
Pentru a lista un anumit număr de observaţii nu de la prima observaţie ci din alt punct, se va combina
opţiunea FIRSTOBS=n cu opţiunea OBS=n

PROC PRINT DATA= vanzări (FIRSTOBS=4 OBS=7);).


PROC PRINT DATA= vanzări (OBS=5) HEADING = HORIZONTAL;

TITLE "Raport Vânzări";


PROC PRINT DATA=tabela-vanzari;
ID Nume_ang;
VAR Nume_client Cant Total_vanzari;
FORMAT Total_vanzări dollar10.2 Cant comma7.;
RUN;

TITLE "Raport Vânzări";


PROC PRINT Data=tabela-vanzari;
WHERE Cant GT 400;
ID Nume_ang;
VAR Nume_client Cant Total_vanzari;
FORMAT Total_vanzări dollar10.2 Cant comma7.;
RUN;

title "Raport Vânzări";


proc print data = tabela-vanzari;
where EmpID in ('1' '5');
ID Nume_ang;
VAR Nume_client Cant Total_vanzari;
format Total_vanzări dollar10.2 Cant comma7.;
run;
TITLEn (unde n este un număr de la 1 la 10)
FOOTNOTEn

title1 "Compania ABX";


title3 "Cifre vanzari pentru anul fiscal 2018";
title4 "Raport rezlizat de Popescu Vasile";
title5 "-----------------------------";
footnote "Raportul este condidential";
proc print data=tabela-vanzari;
ID Nume_ang;
VAR Nume_client Cant Total_vanzari;
format Total_vanzări dollar10.2 Cant comma7.;
run;

procedura SORT opţiunea OUT =


• Afişarea într-o anumită ordine
• Setul de date original să se modifice,
• Sortarea se poate realiza după mai multe variabile

proc sort data= tabela-vanzari out=vazari;


by Cod_angajat descending Total_vanzari;
run;
title "Raport Vânzări";
proc print data=tabela-vanzari;
ID Nume_ang;
VAR Nume_client Total_vanzari;
run;
proc sort data= tabela-vanzari out=vanzări;
by Region;
run;

title " Raport Vânzări ";


proc print data= vanzări label n=”Numărul total de
observaţii:”;
by Regiune;
ID Nume_ang;
VAR Nume_client Total_vanzari;
sum Cant Total_vanzari;
label Cod_angajat = "Cod Angajat"
Total_vanzari = "Vanzări totale"
Cant = "Cantitate vanduta";
format Total_vanzari dollar10.2 Cant comma7.;
run;
Crearea rapoartelor personalizate - Procedura PROC REPORT

• permite controlul aspectului fiecărei coloane de raport

• obţinerea de rapoarte de sinteză (raportarea statisticilor,


cum ar fi sumele – statistici implicite şi medile) şi listări
detaliate (lista tuturor observaţiilor) Implicit, PROC
REPORT produce
– rapoarte detaliate pentru variabilele de tip caracter
– şi rapoartele sumarizate pentru variabilele numerice.

• titlurile coloanelor implicite pentru PROC REPORT sunt


etichete variabile

• instrucţiune COLUMN - specifica variabilele incluse în


raport
TITLE "Raport de sinteza pentru variabile numerice";
PROC REPORT DATA=exemple.date1 NOWD;
COLUMN varsta greutate;
RUN;

opţiunea DEFINE DISPLAY - obţine o listă detaliată a


tuturor observaţiilor

TITLE " Raport detaliat pentru variabile numerice";


PROC REPORT DATA=exemple.date1 NOWD;
COLUMN varsta greutate;
DEFINE varsta / DISPLAY "Varsta elev" WIDTH=2;
DEFINE greutate / DISPLAY WIDTH=3;
RUN;
Listareamediei vârstei şi mediei greutăţii elevilor grupaţi pe clase. -
opţiunea GROUP
statistica MEAN.

TITLE "Utilizare optiune GROUP";


PROC REPORT DATA=exemple.date1 NOWD;
COLUMN clasa varsta greutate;
DEFINE clasa / GROUP WIDTH=2;
DEFINE varsta / ANALYSIS MEAN "Varsta medie" WIDTH=12
FORMAT=2.;
DEFINE greutate / ANALYSIS MEAN "Greutate medie" WIDTH=12
FORMAT=3.;
RUN;

PROC REPORT DATA=exemple.date1 NOWD HEADLINE


SPLIT=' ' LS=74;
COLUMN Id data gen inaltime greutate Comentariu;
DEFINE Id / "Numar matricol" WIDTH=7;
DEFINE data / "Data examinare" WIDTH=9 FORMAT=date9.;
DEFINE gen / "Gen elev" WIDTH=1 RIGHT;
DEFINE inaltime / "Inaltime" WIDTH=3;
DEFINE Greutate / WIDTH=2;
DEFINE Comentariu / WIDTH=30 FLOW;
RUN;

Opţiunea FLOW, adăugată la instrucţiunea DEFINE, restrânge câmpul de comentarii în lăţimea de


coloană definită prin WIDTH=.
Opţiunea SPLIT = indică faptul că se doreşte ca la împărţirea comentariilor, între cuvinte să se
folosească spaţii libere.
Opţiunile de aliniere sunt LEFT, RIGHT şi CENTER.
Realizarea de analize statistice
Procedura UNIVARIATE - generarea de statistici descriptive

PROC UNIVARIATE <optiuni>;


VAR listă_variabile;
BY listă_variabile;
ID variabilă;
HISTOGRAM <listă_variabile>;

Fără declaraţia VAR, procedura va genera statistici pentru toate variabilele numerice ale setului de
date.
Opţiuni uzuale:
• DATA,
• NORMAL - prin opţiunea NORMAL sunt realizate teste de normalitate
• FREQ - generează tabele de frecvenţă ale variabilelor
• PLOT - produce trei tipuri de grafice:
– diagrama ramură-frunză (stem-leaf),
– diagrama box plot 
– diagrama distribuţiei normale.
• BY - pentru a obţine analize separate pe grupe de valori.
• ID denumeşte variabila care identifică observaţiile în locul numărului observaţiei,
• HISTOGRAM construieşte un grafic de tip histogramă.

Implicit, procedura afişează cinci dintre valorile cele mai mici şi mai mari ale variabilei analizate şi
numărul observaţiei care are aceste valori extreme.
• NEXTROBS= pentru a afişa un alt număr de valori extreme
• NEXTRVAL= pentru a afişa cele mai mici şi mai mari valori distincte
• NEXTROBS=0 pentru a suprima afişarea tabelei cu observaţiile extreme
Procedura MEANS - crearea de rapoarte agregate

• Statisticile implicite
– N (numărul de valori care nu lipsesc),
– Mean (medie),
– Std Dev (deviaţia standard),
– Minimum
– Maximum.

• Prin adăugarea oricărui indicator,


procedura nu va mai calcula indicatorii
impliciţi, aceştia trebuind adăugaţi
PROC MEANS indicatori;

• indicatori reprezintă tipuri de indicatori statistici (ex.: . MAX – valoarea maximă, MIN
– valoarea minimă, MEAN – media, N – numărul de valori nenule, NMISS – numărul
de valori lipsă, SUM – suma, MEDIAN – mediana, STD - deviatia standard, VAR –
dispersia)

• Intervalul de încredere implicit pentru calculul mediei este acela al nivelului de


semnificaţie 0.05, adică 95%. Dacă se doreşte specificarea unui alt interval de
încredere, opţiunea ALPHA împreună cu indicatorul CLM (limitele intervalului de
încredere).

• Declaraţii opţionale:
BY lista_variabile – realizează analize separate pentru fiecare nivel al variabilelor din
listă. Datele trebuie să fie în prealabil sortate în aceeaşi ordine în care apar
variabilele din lista_variabile.
CLASS lista_variabile – realizează tot analize separate pentru fiecare nivel al
variabilelor, însă rezultatele sunt prezentate mai compact faţă de declaraţia BY, iar
datele nu trebuie sortate. O caracteristică foarte utilă a utilizării unei instrucţiuni
CLASS (pe lângă faptul că nu trebuie ca datele să fie sortate ) este că SAS utilizează
valori formate ale variabilelor CLASS. Se poate adăuga o instrucţiune FORMAT la
procedură schimbând modul în care variabila CLASS grupează datele, fără a fi
nevoie să să se modifice setul de date original.
VAR lista_variabile – specifică variabile analizate.
MAXDEC = controlează numărul de locuri din dreapta punctului zecimal care sunt
tipărite în ieşire.
PROC FORMAT;
VALUE f_calitate_grup
LOW -< 10 = 'Scazuta'
10 - HIGH = 'Ridicata';
RUN;
PROC MEANS DATA=exemple.produse
N NMISS MEAN MEDIAN MIN MAX MAXDEC=1;
CLASS cal;
FORMAT cal f_calitate_grup
VAR cant pret;
RUN;
N N
Calitate Obs Variable N Miss Mean Median
Scazuta 384 cant 352 32 5.5 5.5
pret 351 33 6938.2 6910.0
Ridicata 411 cant 376 35 5.5 5.5
pret 374 37 7138.9 7130.0
Scrierea statisticilor agregate într-un set de date
– pentru analize ulterioare
– pentru combinarea cu alte date
OUTPUT OUT = set-date lista-statistici-iesire;
• set-date - setul de date care va conţine rezultatele;
• lista-statistici-iesire - conţine indicatorii statistici care se vor calcula şi
numele variabilelor asociate cu aceştia.
Un format posibil pentru această listă de ieşire este:
statistica (lista_variabile)=lista_nume
• statistica - unul dintre indicatorii statistici disponibili cu procedura MEANS;
• lista_variabile - pentru ce variabile se vor calcula indicatorii;
• lista_nume - noile nume de variabile asociate indicatorilor statistici.
• NOPRINT rezultatele nu se vor mai afişa pe ecran, ci vor fi direcţionate doar
către setul de date de ieşire.

PROC MEANS DATA=exemple.produse NOPRINT;


VAR cant pret;
OUTPUT OUT = my_summary
MEAN = MedieCant MediePret;
RUN;
PROC PRINT DATA=my_summary NOOBS;
RUN;

Unde variabila MedieCant contine media valorilor din variariabila cant iar
variabila MediePreţ contine media valorilor din variariabila prêt.
Procedura FREQ – calcularea frecvenţelor
PROC FREQ DATA = date_intrare <optiuni>;
TABLES combinatii_variabile <optiuni>;

Instrucţiunea TABLES - defineşte variabilele pentru care se creează tabele de


frecvenţe.
– pentru tabelele de frecvenţe unidimensionle, se specifică numele variabilei,
– pentru tabele de frecvenţe multidimensionale se scrie o expresie de tipul
var1*var2*...*varn.

Opţiuni ale instrucţiunii TABLES care controlează modul de afişare:


• LIST – afişează tabelele multidimensionale în format listă, nu tabelar;
• MISSING – include valorile lipsă în statistici;
• NOCOL – suprimă afişarea procentelor coloanelor în tabelele de frecvenţă;
• NOROW – suprimă afişarea procentelor rândurilor în tabelele de frecvenţă;
• NOCUM – suprimă afişarea frecvenţelor şi procentelor cumulate în tabelele
unidmensionale. Deoarece NOCUM este o opţiune în instrucţiunea
TABLES, este urmată de caracterul / (aceasta este sintaxa pentru toate
opţiunile de instrucţiuni din cadrul unei proceduri)
• NOPERCENT – suprimă afişarea tuturor procentelor în tabelele de
frecvenţe.
• OUT = set_date – scrie un set de date care conţine frecvenţele.
Tabele de frecvenţe bidirecţionale se pot realiza specificând
variabilele rând şi coloană într-o instrucţiune TABLES, separate de
un asterisc (*).
TABLES var1 * var2;

Variabilă de rând defalcată în funcţie de mai multe variabile de


coloană:
TABLES A * (B C D);
Această instrucţiune generează trei tabele: A cu B, A cu C şi A cu
D.

Listă de variabile (în paranteze) atât pentru variabilele rând şi coloană:


TABLES (A B) * (C D);
Această instrucţiune generează patru tabele: A cu C, A cu D, B cu
C şi B cu D.
Procedura CORR – analiza de corelaţie
PROC CORR DATA = set_date;
VAR lista_variabile;
WITH lista_variabile;
RUN;

• Fără declaraţiile VAR şi WITH, procedura calculează corelaţii între toate


variabilele numerice care se găsesc în setul de date SAS cel mai recent
utilizat.
• Variabilele specificate în declaraţia VAR vor apărea în partea de sus a
tabelului de corelaţie,
• Variabilele specificate în declaraţia WITH vor apărea în stânga tabelului.
• Implicit, procedura CORR calculează coeficientul de corelaţie al lui Pearson.
• Se pot adăuga opţiuni prin care se pot calcula alţi coeficienţi, precum
SPEARMAN sau KENDALL.

PROC CORR DATA = produse;


VAR Cantitate;
WITH Pret;
RUN;
Procedura REG - analiza de regresie liniara
PROC REG DATA = set_date;
MODEL var_dependenta = var_independenta;
PLOT var_dependenta * var_independenta;
RUN;

• În declaraţia MODEL, variabila dependentă este


plasată în stânga semnului “=”, iar variabila(le)
independente în partea dreaptă.
• Declaraţia PLOT este una dintre multele opţiuni
ale procedurii prin intermediul acesteia
realizându-se diferite diagrame de corelaţie.
Procedura ANOVA – analiza dispersională
PROC ANOVA DATA = set_date;
CLASS listă_variabile;
MODEL dependenta = explicative;
MEANSexplicative /optiuni;
RUN

• CLASS trebuie scrisă înainte de MODEL şi defineşte


variabila(le) de clasificare.
• MODEL defineşte variabila dependentă şi variabilele
explicative.
• MEANS calculează media variabilei dependente pentru
oricare din variabilele explicative speficate în MODEL.

Se pot efectua mai multe tipuri de teste de comparaţie


pentru medii, precum SCHEFFE sau testul t al lui
Bonferroni (BON).
Realizarea de grafice
Procedura GCHART şi GPLOT

opţiuni grafice globale


• GOPTIONS,
• SYMBOL - defineşte simbolurile de plotare şi
stilurile de linie),
• PATTERN - defineşte stilurile pentru graficele cu
bare
• AXIS - defineşte axele orizontale şi verticale.
Opţiunea RESET=ALL resetează toate opţiunile
grafice la valorile lor implicite.
PROC GCHART DATA = set_date;
HBAR | HBAR3D | VBAR | VBAR3D lista_var_grafic / <optiuni>;
PIE | PIE3D | DONUT lista_var_grafic / <optiuni>;
STAR lista_var_grafic / <optiuni>;

Declaraţiile care urmează după numele procedurii definesc tipul de grafic construit, astfel:
– HBAR – Grafic cu bare orizontale
– HBAR3D – Grafic cu bare orizontale 3D
– VBAR – Grafic cu bare verticale
– VBAR3D – Grafic cu bare verticale 3D
– PIE – Grafic de tip Pie
– PIE3D – Grafic de tip Pie 3D
– DONUT– Grafic de tip inel
– STAR– Grafic de tip stea
Opţiuni:
– SUMVAR – arată variabilele pentru care se calculează indicatorul statistic;
– TYPE – tipul de indicator statistic.
– GROUP grupează datele înfuncţie de valorile variabilei de clasificare pe care o referă
– SUBGROUP pentru a reprezenta valorile variabilei adăugate, foloseşte şabloane diferite în
cadrul fiecărei coloane
– NOHEADING elimină heading-ul implicit

Instrucţiunea PATTERN
PATTERN VALUE=EMPTY; cere ca barele din graficul vertical al barei să aibă doar contur (implicit sunt
pline) PATTERN VALUE = SOLID;.

PATTERN VALUE=EMPTY;
PROC GCHART DATA=exemple.produse;
VBAR pret;
RUN;
QUIT;
Procedura GPLOT se poate folosi pentru a construi un grafic care
arată legătura între două variabile.

PROC GPLOTDATA = set_date;


PLOT variabila_Y*variabila_X / <optiuni>;

• declaraţia PLOT specifică cele două variabile care se reprezintă pe


axele graficului.
• declaraţia SYMBOL adăuga anumite simboluri care să reprezinte
intersecţia valorilor variabilelor şi se pot conecta punctele prin linii
drepte sau curbe.
• opţiunea INTERPOL= (prescurtat I=) ajută la conectarea punctelor
şi poate lua valori precum join (uneşte cu linii drepte) sau sm
(uneşte prin linie continuă),
• opţiunea WIDTH= controlează lăţimea liniei.

SYMBOL VALUE=DOT;
PROC GPLOT DATA=exemplu.produse;
plot cant * pret / HAXIS=70 TO 120 BY 5
VAXIS=100 TO 220 BY 10;
RUN;
• Opţiunea VALUE = pentru simbol pentru plotare de va fi caracterul punct.
• Opţiunile HAXIS şi VAXIS controlează intervalele pe axele orizontale şi
verticale.
• La instrucţiunea SYMBOL se poate adăuga o opţiune de pentru a cere ca
punctele să fie îmbinate printr-o linie dreaptă sau curbă
• opţiunea INTERPOL = (sau doar I =) are numeroase opţiuni care
controlează aspectul plotului.
– Opţiunea JOIN conectează punctele cu linii drepte.
– Opţiunea WIDTH = controlează lăţimea valorilor liniei mai mari, dând astfel linii
mai întunecate.
– Opţiunea LINE = vă permite să selectaţi tipurile de linii (1 = 0, valoarea implicită).

In exemplu o a doua instrucţiune TITLE este, cu înălţimea setată la 1.2 unităţi.

TITLE "Titlu1";
TITLE2 h=1.2 " Titlu1";
SYMBOL VALUE=DOT INTERPOL=JOIN WIDTH=2;
PROC GPLOT DATA=exemplu.produse;
PLOT cant var;
RUN;

S-ar putea să vă placă și