software pentru analiza statistica si econometrica
TRANSCRIPT
SOFTWARE PENTRU
ANALIZA STATISTICA SI
ECONOMETRICA Conf. univ. dr. Rodica Ioana Lung
SAS
Moduri de lucru in SAS
• Interactiv • Batch mode
• Se ruleaza un fisier de
instructiuni SAS
• Rularea e programata de
sistemul de
operare/manual
• Ne-interactiv
• Rezultatele/logs sunt
salvate in fisiere pe hard.
Scriere sau
modificare
Testare program
Verificare si
depanare
Procesul de programare
Definirea problemei de rezolvat
Scrierea programului SAS
Rulare
Verificare rezultate
Depanare sau modificare
Componentele unui program SAS
DATA step PROC step
Combinate
Limbaj de programare
data gradinita;
input ID 1-3 Nume $ 5-19 Sex $21-21
Greutate_inceput_an Greutate_sfarsit_an;
datalines;
784 Pop Adela F 12.3 13.1
749 Candrea Andrei M 14.5 15.7
750 Muresan Ramon F 11.7 12.5
751 Achim Calin M 15 17
752 Zah Liliana F 12.2 13.4
;
proc print data=gradinita;
title "Greutate copii grupa mica";
run;
DATA step
PROC step
Exemplu
Date initiale DATA step SAS data set
PROC step Raport
Limbaj de programare
data gradinita;
input ID 1-3 Nume $ 5-19 Sex $21-21
Greutate_inceput_an Greutate_sfarsit_an;
datalines;
784 Pop Adela F 12.3 13.1
749 Candrea Andrei M 14.5 15.7
750 Muresan Ramon F 11.7 12.5
751 Achim Calin M 15 17
752 Zah Liliana F 12.2 13.4
;
proc print data=gradinita;
title "Greutate copii grupa mica";
run;
DATA step
PROC step
Rezultat
Greutate copii grupa mica
Obs ID Nume Sex Greutate_inceput
_an
Greutate_sfarsit
_an
1 784 Pop Adela F 12.3 13.1
2 749 Candrea Andrei M 14.5 15.7
3 750 Muresan Ramon F 11.7 12.5
4 751 Achim Calin M 15.0 17.0
5 752 Zah Liliana F 12.2 13.4
Program
data gradinita;
input ID 1-3 Nume $ 5-19 Sex $21-21
Greutate_inceput_an Greutate_sfarsit_an;
crestere=Greutate_sfarsit_an-Greutate_inceput_an;
datalines;
784 Pop Adela F 12.3 13.1
749 Candrea Andrei M 14.5 15.7
750 Muresan Ramon F 11.7 12.5
751 Achim Calin M 15 17
752 Zah Liliana F 12.2 13.4
;
proc print data=gradinita;
title "Greutate copii grupa mica";
run;
Limbaj de programare
Obs ID Nume Sex Greutate_i
nceput_an
Greutate_
sfarsit_an
crestere
1 784 Pop Adela F 12.3 13.1 0.8
2 749 Candrea Andrei M 14.5 15.7 1.2
3 750 Muresan Ramon F 11.7 12.5 0.8
4 751 Achim Calin M 15.0 17.0 2.0
5 752 Zah Liliana F 12.2 13.4 1.2
Greutate copii grupa mica
Structura programelor SAS
Sintaxa generală a comenzilor SAS
• Sfarsit : “;”
• majuscule/minuscule/combinatii;
• Pot incepe pe orice coloana
• Pot fi mai multe pe o linie
• O instructiune se poate intinde pe mai multe linii (pastrand
cuvintele intregi)
• Cuvintele se separa cu ‘ ‘ sau cu caractere speciale
Recomandari de buna practica
• Cate o instructiune pe o line;
• Folosirea ‘run’ dupa fiecare DATA sau PROC
• Lasarea unui rand liber intre doi pasi
• Indentarea liniilor fata de DATA, PROC sau RUN;
• Comentarea/documentarea programelor
• /* bloc – orice fel de text */
• * comentariu care nu contine ; sau ghilimele ;
Reguli generale pentru nume in SAS
• Lungimea intre 1-32 caractere;
• Primul caracter trebuie sa fie un caracter sau “_”;
• Urmatoarele pot fi litere/cifre sau “_”;
• Nu pot aparea spatii goale;
• Numele de variabile se pot scrie oricum
(majuscule/minuscule); SAS retine forma fara insa a tine
cont de reprezentare.
Erori de sintaxa
Ruleaza programul
SAS scaneaza un pas (step)
Verifica Log SAS emite un
mesaj de eroare
Corecteaza codul
Curata fereastra LOG
Eroare
Fara eroare
Diagnosticarea/corectare erori de sintaxa
• daat work.newsalesemps;
• length First_Name $ 12
• Last_Name $ 18 Job_Title $ 25;
• infile newemployees.csv' dlm=',';
• input First_Name $ Last_Name $
• Job_Title $ Salary
• run;
“Ghilimele..
• Nu apare mesaj de eroare in LOG dar
• PROC PRINT running
• DATA step running
• Posibile cauze:
• Ghilimele gresite
• Lipsa instructiunii RUN
• Un pas fara final;
• Solutie
• Se ANULEAZA rularea
• Se corecteaza/salveaza/RUN….
• SAS numara ghilimelele – nr. impar;
Raportare/Analize
proc tabulate data=gradinita;
class sex;
var Greutate_inceput_an Greutate_sfarsit_an
Crestere;
table sex, mean*(Greutate_inceput_an
Greutate_sfarsit_an Crestere);
title 'Media Greutatii - inceput/sfarsit an';
title2 'si a cresterii in greutate';
run;
Media Greutatii - inceput/sfarsit an
si a cresterii in greutate PROC step
Raportare/Analize
Media Greutatii - inceput/sfarsit an
si a cresterii in greutate
Mean
Greutate_inceput_
an
Greutate_sfarsit_a
n
crestere
Sex
12.07 13.00 0.93 F
M 14.75 16.35 1.60