Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
1
System SAS – wykład 1,cz. II – wprowadzenie do
4GL
1. Biblioteki.
2. Instrukcja LIBNAME.
3. Zbiory danych w Systemie SAS.
4. Wprowadzenie do języka 4GL.
5. Czytanie zbiorów sasowych. Instrukcje SET i MERGE .
6. Instrukcja INFILE.
7. Instrukcja CARDS.
8. Składnia PROC stepu, procedura SORT.
9. Procedury IMPORT i EXPORT.
10. Procedura FREQ.
11. Procedura MEANS.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
2
Biblioteki i instrukcja LIBNAME
Biblioteka w SASie jest to ścieżka dostępu do fizycznego miejsca na dysku gdzie
znajdują się dane. Bibliotekę można zdefiniować interaktywnie z okna Explorera:
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
3
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
4
Instrukcja LIBNAME
Bibliotekę można również stworzyć w programach SAS - 4GL za
pomocą instrukcji LIBNAME:
LIBNAME
nazwa_biblioteki ‘ścieżka_do_danych’;
Nazwy bibliotek są ośmioliterowe i mogą składać się z liter, cyfr i
znaku „_”(nie mogą zaczynać się od cyfry.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
5
Oprócz bibliotek przez nas zdefiniowanych istnieją też biblioteki
standardowe, np.:
WORK Biblioteka do przechowywania zbiorów tymczasowych. Jej
zawartość jest czyszczona po zamknięciu każdej sesji SASa.
Tworzone zbiory domyślnie zapisują się w tej bibliotece.
SASUSER Biblioteka zawierająca konfigurację środowiska sasowego.
SASHELP Biblioteka zawierająca aplikacje, tabele i pliki niezbędne do
funkcjonowania systemu SAS.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
6
Zbiory danych w Systemie SAS.
Zbiory służą do przechowywania danych. Do zbioru odwołujemy się podając
nazwę biblioteki i nazwę zbioru przedzielone kropką (jeśli występuje tylko
nazwa zbioru SAS w domyśle poszukuje go w bibliotece WORK) np.:
SASUSER.ZBIOR
Zbiór w SASie jest dwuwymiarową tablicą składającą się z kolumn i wierszy,
które nazywamy odpowiednio zmiennymi i obserwacjami.
Zmienne mogą być numeryczne lub tekstowe.
KATALOGI
Inne informacje niż dane przechowywane są w obiektach katalogowych.
Katalogi sasowe nie mają nic wspólnego z katalogami w systemie
operacyjnym.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
7
4 Generation Language (4GL). Przetwarzanie danych za pomocą tego języka
polega na przetwarzaniu całych zbiorów danych za pomocą pojedynczych
procedur.
Program w języku 4GL składa się z bloków zwanych stepami, które wykonywane
są sekwencyjnie. Najpierw linie kodu są interpretowane za pomocą kompilatora
języka 4GL, a następnie wykonywane. Komunikacja pomiędzy poszczególnymi
blokami odbywa się za pomocą makrozmiennych, makroprogramów lub z
wykorzystaniem zbiorów danych tworzonych w poprzednich blokach.
Bloki mogą być dwóch typów:
DATA STEP - blok zawierający instrukcje związane głównie z przetwarzaniem
danych
PROC STEP – blok zawierający wywołanie jednej, gotowej procedury Systemu
SAS.
Dodatkowo pomiędzy blokami mogą pojawić się instrukcje takie jak LIBNAME,
OPTIONS, TITLE itp.
Wprowadzenie do języka 4GL
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
8
Składnia bloku (DATA stepu) :
DATA
zbiór_wynikowy;
...
;
instrukcje;
...
;
run
;
Każda instrukcja w DATA stepie musi kończyć się średnikiem.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
9
Data step może czytać dane ze zbiorów SASowych za pomocą instrukcji:
SET
zbiór_wejściowy_1
<(opcje_zbioru_1)>
...
zbiór_wejściowy_n
<(opcje_zbioru_n)>;
lub
MERGE
zbiór_wejściowy_1 <(opcje_zbioru_1)> ... zbiór_wejściowy_n
<(opcje_zbioru_n)>;
Jeśli czytanych jest więcej niż jeden zbiór instrukcje set i merge powodują
złączenie tych zbiorów w jeden,
Przykład:
DATA
zbiór_wyjściowy;
SET
zbiór_wejściowy;
Instrukcje;
RUN
;
Czytanie zbiorów sasowych. Instrukcje SET i MERGE
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
10
DATA
zbiór_wyjściowy;
MERGE
zbiór_1 zbiór_2;
/*łączy dwa zbiory w jeden*/
<BY zmienne_grupujące>;
/*zbiory muszą być posortowane*/
RUN
;
Instrukcja BY powoduje, że czytane zbiory łączone są po zmiennej
grupującej. Zmienna ta musi występować w obydwu zbiorach.
Przykład łączenia danych z instrukcją BY
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
11
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
12
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
13
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
14
Instrukcja INFILE
Data step może również czytać dane ze zbiorów tekstowych za
pomocą instrukcji:
INFILE
‘ścieżka_do_zbioru_tekstowego’;
INPUT
lista_zmiennych;
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
15
Przykład:
DATA
zbiór_wyjściowy;
INFILE
‘C:\przykład\tekst1.txt’ <opcje>;
INPUT
zm1<$> zm2<$>;
RUN
;
Opcje instrukcji INFILE pozwalają na określenie różnorodnych
parametrów czytanego pliku np.:
DLM=‘znak’ określa zestaw znaków traktowanych jako separatory np.:
DLM=‘;’, domyślnie DLM ustawiony jest na spację
FIRSTOBS= określa numer pierwszej czytanej linii, np.: FIRSTOBS=10
OBS= określa numer ostatniej czytanej linii
Data step czyta kolejne linie zbioru tekstowego i w każdej z nich
odczytuje poszczególne zmienne wymienione po słowie INPUT
przyjmując założenie, że są one oddzielone separatorami. Jeśli
któreś zmienne są znakowe po ich nazwie musi być użyty znak $.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
16
Instrukcja CARDS
Dane mogą być również wpisane bezpośrednio z klawiatury w treść
programu w języku 4GL za pomocą instrukcji:
CARDS
;
Przykład:
DATA
wynik;
INPUT
zm1 zm2$;
CARDS
;
1 marek
2 jacek
3 jola
RUN
;
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
17
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
18
PROC
nazwa_procedury
DATA=zbiór_wejściowy opcje_procedury;
...
;
Instrukcje;
...
;
run
;
Przykład:
PROC
SORT
DATA
=zbiór_wejściowy <opcje>;
BY
<
DESCENDING
> zmienna_1 <
...
<
DESCENDING
> zmienna_n>;
RUN
;
Domyślny porządek w procedurze sort jest rosnący.
Składnia PROC stepu, procedura sort
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
19
PROC
IMPORT
DATAFILE=”
C:\zbiory\zbior"
OUT=<
libref.
>zbior_wyjściowy
<DBMS=identifier <REPLACE>;
Opcja DBMS określa typ danych do wyeksportowania, np. Excel,
Accsess.
Słowo REPLACE powoduje zamianę już istniejącego pliku o
podanej nazwie.
PROC
EXPORT
DATA=zbiór_wejściowy
OUTFILE=
„C:\zbiory\zbior1"
<DBMS=identifier <REPLACE>;
Procedury import i export
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
20
Kreatory importu i eksportu
Pliki z excela czy accessa można również zaimportować i wyeksportować przy użyciu kreatora importu i
eksportu.
Import Wizard:
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
21
Eksport Wizard:
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
22
Procedura FREQ
Procedura FREQ służy przede wszystkim do zliczania częstości wystąpień
poszczególnych wartości podanych zmiennych. Liczone mogą być także
częstości narastające, udziały procentowe i udziały procentowe narastające.
Składnia tej procedury jest następująca:
PROC
FREQ
DATA
=zbiór_wejściowy <opcje>;
<BY zmienne_grupujące>;
TABLES
tablice_częstości </opcje>;
<WEIGHT zmienna_ważąca;>
RUN
;
Zmienne_grupujące w instrukcji BY są to zmienne wyznaczające podział na
grupy, w których oddzielnie liczone są poszczególne tablice. Aby użyć tej
instrukcji zbiór musi być wcześniej posortowany.
Instrukcja TABLES oblicza tablice częstości dla poszczególnych zmiennych
wymienionych po spacji. Opcja OUT=zbiór tej instrukcji powoduje stworzenie
zbioru wynikowego zawierającego wszystkie policzone wartości.
Zmienna_ważąca określa wagę z jaką dane obserwacje mają być
uwzględnione.
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
23
Procedura MEANS
Procedura MEANS wylicza wszelkie statystyki opisowe na zbiorach danych
sasowych. Statystyki mogą być liczone dla całego zbioru lub w grupach.
Składnia procedury MEANS:
PROC
MEANS
DATA
=zbiór_wejściowy <statystyki>;
VAR
zmienne_analizowane;
<opcje;>
RUN
;
Domyślnie procedura means wylicza N, MEAN, STD, MIN, MAX.
Przykładowe opcje procedury means:
CLASS zmienne_grupujące;
BY zmienne_grupujące;
Różnica pomiędzy instrukcjami CLASS i BY polega na tym, że instrukcja CLASS
nie wymaga wcześniejszego posortowania zbioru jednak można ją używać dla
zmiennych o niewielkiej liczbie możliwych wartości wyznaczających grupy.
WEIGHT zmienna_ważąca;
OUTPUT OUT=zbiór_wynikowy;
Instytut Statystyki i Demografii SGH, KAE, SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
24
Zadania
1. Stworzyć zbiór sasowy file2 z pliku tekstowego file2. Zbiór ma zawierać 2
zmienne wzrost i plec.
2. Policzyć tablice częstości dla zmiennej plec ze zbioru file2. Uzyskane
wyniki zapisać w zbiorze plec w bibliotece wyniki. Obliczyć średnią dla
zmiennej wzrost osobno dla mężczyzn i osobno dla kobiet. Wyniki zapisać
do zbioru.
3. Połączyć zbiory zbior1 i zbior2 po zmiennej i a następnie uporządkować
malejąco daty w powstałym zbiorze. Zapisać zbiór w formacie excela.