Documente Academic
Documente Profesional
Documente Cultură
Datelor
Lect. Univ. dr. Anda BELCIU
anda.belciu@gmail.com
Instrumente Software pt Analiza
Datelor
Curs 1: Introducere n SAS
Curs 2: Analiza datelor
Pregtirea datelor pt analize
1. Prelucrri analitice
2. Sistemul integrat SAS
3. Programe SAS
Prelucrri analitice/1
Definirea conceptului
Instrumente OLAP
Dezvoltarea de aplicaii
Detectarea fraudelor
Managementul clienilor
Sistemul SAS/3
SAS Studio:
- Disponibil n interfa web
- Conine nucleul BASE SAS
- Implicit pt conturile SAS On Demand for Academics
https://odamid.oda.sas.com
Programe SAS
15
ASCII
Externe Fiiere generate de alte aplicaii
Fiiere n SAS
Interne Temporare nume pe un nivel
Permanente - nume pe nou niveluri (libref.nume)
16
Reguli de sintax
Instructiunile SAS au urmtoarele caracteristici:
ncep, de obicei, cu un cuvnt cheie
19
Limite ale unei seciuni
20
data ord;
input age sex $ prod_id quantity order_date mmddyy8.;
format order_date yymmdds10.;
cards;
25 f 02344 2 05/27/10
37 m 08798 4 04/29/10
45 f 09876 1 05/27/10
19 m 07897 3 05/30/10
proc sort data=ord; by descending order_date;
proc print data=ord;
title 'Unfulfilled orders';
21
Biblioteci SAS
22
O bibliotec SAS este o colecie care include unul sau mai multe fiiere
SAS care sunt recunoscute de SAS i care sunt referite i stocate n
mod unitar.
Sintaxa este:
LIBNAME libref Biblioteca-SAS;
LIBNAME definete o bibliotec
libref este o referin la o bibliotec, un alias pentru o locaie fizic
unde se gsesc fiierele incluse n bibliotec
Bilioteca-SAS este locaia fizic propriu-zis
LIBNAME exemple C:\curs; (pt Enterprise Guide)
LIBNAME exemple /home/username; (pt SAS Studio)
Libname nu este parte a unei seciuni de date sau de proceduri i nu are
nevoie de RUN pentru a rula.
Se pot defini oricte declaraii LIBNAME.
Biblioteca Work este temporar i se iniializeaz la deschiderea sesiunii
de lucru SAS.
Crearea seturilor de date SAS din
23
seturi de date existente -1
Sintaxa general:
DATA set-de-date-SAS-de-iesire;
SET set-de-date-SAS-de-intrare;
WHERE expresie-conditionala;
DROP list-variabile;
KEEP list-variabile;
LABEL var1=eticheta1 var2=eticheta2;
FORMAT variabila(le) format;
RUN;
Crearea seturilor de date SAS din
24
seturi de date existente -2
Implicit toate ntregistrrile dintr-un set de date de intrare
sunt scrise n setul de date rezultat.
Declaraia WHERE are rolul de a extrage observaiile dintr-
un set de date. O seciune de date poate include o singur
declaraie WHERE.
Include operatori de comparaie identici cu cei de la
filtrele din SAS Enterprise Guide.
Exemple:
where gen eq M;
where salariu ne .;
where pozitie contain Vanzari;
where nume like T_M%;
where cod is missing;
Crearea seturilor de date SAS din
25
seturi de date existente -3
Extragerea (selectarea) variabilelor din setul rezultat se
realizeaz cu ajutorul declaraiilor DROP i KEEP:
DROP list-variabile; {cu spaiu ntre ele} arat care
sunt variabilele care se exclud din setul rezultat
KEEP list-variabile; {cu spaiu ntre ele} arat care
sunt variabilele care se pstreaz n setul rezultat
Declaraia LABEL are rolul de a aduga o etichet la zona
de descriere a unui set de date. Eticheta schimb modul n
care apare numele variabilei n diverse proceduri. Spre
exemplu, PROC PRINT poate afia numele etichetei n loc
de numele variabilei:
PROC PRINT DATA = set-de-date-SAS LABEL;
FORMAT este un format de afiare care schimb modul de
afiare a variabilelor: <$>format <w>.<d>
Citirea datelor din fiiere flat
Procesul de citire a fiierelor de date flat
26
Delimitatorul spaiu
27
data produse;
/*infile '/home/username/produse5.txt'; */
input @1 Nume $8.
@9 Pret dollar4.
@13 Categorie $8.;
format Pret dollar6.0;
datalines;
hartie $2 birotica
creioane$10 birotica
apa $6 alimente
ceai $8 alimente
tricou $100haine
run;
Procesare condiional n programele
SAS
35
Clauza DELETE este folosita pentru a controla care observatii sa nu fie incluse in subsetul de
date. Sintaxa este: IF expresie THEN DELETE;
Un subset de date care sa contina toate produsele mai putin alimentele:
data non_mancare;
set exemple.produse;
if Categorie eq 'alimente' then delete;
run;
Acelasi lucru poate fi obtinut folosind clauza WHERE si conditia not equal:
data non_mancare;
set exemple.produse;
where Categorie ne 'alimente';
run;
data work.youngadult;
set lib_data.customer_dim;
where Customer_gender eq 'F' and Customer_Age between 18 and 36 and Customer_Group contains "Gold";
Customer_Gender Customer_Group;
run;
run;
run;
data work.Sports;
set lib_data.product_dim;
run;
run;