Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
1
Wykład 2- ćwiczenia
Struktura zajęć
1. Obliczenia w SASie.
2. Funkcje Systemu SAS.
3. Instrukcja IF i WHERE.
4. Pętla ze zmienną indeksującą.
5. Formaty.
6. Instrukcja BY. Zmienne first i last.
7. Praca w środowisku EG:
a) Praca z danymi
b) Import danych
c) Budowa zapytań
d) Łączenie zbiorów danych
e) Próbkowanie danych (metody dostępne w
EG, proc surveyselect)
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
2
Obliczenia w SASie
Operatory Systemu SAS:
Operatory arytmetyczne:
** potęgowanie, * mnożenie, / dzielenie, + dodawanie, -
odejmowanie
Operatory porównania:
=, EQ
równe
^=, ~=, NE
nierówne
>, GT
większe
<, LT
mniejsze
>=, GE
większe lub równe
<=, LE
mniejsze lub równe
IN jest elementem listy
Operatory logiczne:
&, AND
|, OR
^,~, NOT
Przykład
data
zbior;
set
zbior;
y=x*
2
;
run
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
3
Funkcje Systemu SAS
Ogólna postać wywołania funkcji jest następująca:
nazwa_funkcji(argument_1,argument_2,...)
Nawiasy muszą być użyte po nazwie funkcji nawet jeżeli nie wymaga ona
żadnych argumentów.
Wybrane funkcje:
ABS
-zwraca wartość bezwzględną argumentu
MAX
-zwraca największy z pośród argumentów
MIN
- zwraca najmniejszy z pośród argumentów
SQRT
-zwraca pierwiastek kwadratowy argumentu
MOD
-zwraca wartość pierwszego argumentu modulo drugi argument
Przykład:
data
max;
z=max(
1
,
2
,
3
);
run
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
4
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
5
DATE
-zwraca bieżącą datę
MDY
-zwraca datę Systemu SAS utworzoną wg podanego miesiąca,
dnia i roku
TIME
-zwraca bieżący czas
YEAR
-zwraca rok w podanej dacie
DAY
-zwraca numer dnia w podanej dacie
Przykład:
data
year;
y=mdy(
10
,
3
,
2003
);
run
;
Funkcje daty i czasu
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
6
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
7
MEAN –zwraca średnią arytmetyczną argumentów
STD –zwraca odchylenie standardowe argumentów
SUM
–zwraca sumę argumentów
VAR
–zwraca wariancję argumentów
NORMAL –zwraca liczbę losową z rozkładu normalnego
RANPOI –zwraca liczbę losową z rozkładu Poissona
Użycie funkcji losowych:
NORMAL(seed), seed - wartość startowa od której funkcja generuje
liczby losowe
RANPOI(seed,m), m- parametr rozkładu Poissona
Przykład:
data
normal;
p=normal(
0
);
run
;
Funkcje statystyczne i losowe
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
8
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
9
Instrukcja IF i WHERE
W dowolnym miejscu w obrębie data stepu możemy umieścić instrukcje
IF
warunek;
WHERE
warunek;
Użycie tych instrukcji spowoduje, że do zbioru wyjściowego zostaną
wyrzucone tylko te obserwacje, które spełniają podany warunek, np.:
DATA
zbiór_wyjściowy;
SET
zbiór_wejściowy;
WHERE
zm1>
0
;
RUN
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
10
Instrukcja warunkowa IF
Po słowie kluczowym IF i podanym warunku możemy również użyć słowa
kluczowego THEN w następujący sposób:
IF
warunek
THEN
instrukcja;
Użycie instrukcji IF w taki sposób spowoduje, że jeśli spełniony jest
warunek nałożony na daną zmienną to zostanie wykonana podana
instrukcja po słowie kluczowym THEN.
Przykład:
DATA
zb1;
SET
zb1;
if
zm1>
0
and zm1<
5
then
zm2=
'liczba od 0 do 5'
;
RUN
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
11
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
12
Pętla ze zmienną indeksującą
Ogólna postać pętli:
DO
zmienna=start
TO
stop <
BY
krok>;
...
;
END
;
start - wartość początkowa zmiennej indeksującej
stop - wartość końcowa zmiennej indeksującej
krok - wartość o jaką każdorazowo zwiększana jest zmienna indeksująca
(domyślną wartością kroku jest 1)
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
13
DATA
losowe;
DO
i=
1
TO
20
;
y=NORMAL(
0
);
OUTPUT
;
END
;
RUN
;
Instrukcja OUTPUT powoduje, że po każdym obrocie pętli wynik
zapisywany jest w zbiorze wynikowym. Bez tej instrukcji do zbioru
wynikowego zostanie zapisany tylko wynik z ostatniego obrotu pętli.
Przykład pętli ze zmienną indeksującą
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
14
FORMATY
FORMAT jest sposobem w jaki System SAS prezentuje wartości zmiennych. Na
przykład, w zależności od tego jakiego formatu użyjemy, liczba 12 może być
zapisana na wiele sposobów:
12
12.00
XII
grudzień
Nazwy formatów mają następującą postać:
<$>nazwa<w>.<d>
gdzie
$ - oznacza, że jest to format znakowy
nazwa - nazwa formatu
w - rozmiar formatu – maksymalna ilość znaków w sformatowanej wartości
d - długość części dziesiętnej dla formatów numerycznych.
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
15
Przykład użycia
DATA
zbior;
INPUT
miesiac kwota;
FORMAT
miesiac
z2.
kwota
commax12.2
;
CARDS
;
1 123421.22
3 32123.10
10 1111232
12 142.5
RUN
;
PROC
DATA
=zbior;
RUN
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
16
The SAS System
Obs miesiac kwota
1 01
123.421,22
2 03 32.123,10
3 10 1.111.232,00
4 12 142,50
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
17
PROC
DATA
=zbior;
FORMAT
miesiac
ROMAN.
;
RUN
;
The SAS System
Obs miesiac kwota
1 I 123.421,22
2 III 32.123,10
3 X 1.111.232,00
4 XII 142,50
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
18
Procedura FORMAT
Składnia procedury:
PROC
FORMAT
<opcje>;
VALUE
<$>nazwa <(opcje-formatu)>
zakres-wartości;
run
;
Przykład:
proc
format
;
value
plec
1
=
'Kobieta’
2
=
'Mezczyzna’
;
run
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
19
Instrukcja BY. Zmienne first i last.
W DATA stepie poprzez użycie instrukcji BY System SAS tworzy
zmienne first i last. Zmienna first przyjmuje wartość 1 dla pierwszej
obserwacji z grupy a druga przyjmuje wartość 1 dla ostatniej
obserwacji z grupy. W pozostałych przypadkach obie zmienne mają
wartość 0. Zmiennych first i last nie można jednak używać
samodzielnie. Musimy do ich nazw dodać nazwę zmiennej, po której
grupujemy, np.. jeżeli grupowaliśmy instrukcją BY po zmiennej plec, to
odwołanie obydwu zmiennych wygląda następująco:
first.plec i last.plec.
(Należy pamiętać o tym, że aby używać tych zmiennych i instrukcji BY,
zbiór musi być wcześniej posortowany po zmiennej.)
Np.
data
zbior;
set
zbior;
by
zmienna;
if
first.zmienna
then
instrukcje;
run
;
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
20
Enterprise Guide
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
21
Tworzenie zapytań do
danych
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
22
Próbkowanie
W EG wybieramy Dane Próba losowa
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
23
Ogólna składnia procedury surveyselect:
PROC
SURVEYSELECT
options ;
STRATA
variables ;
SIZE variable ;
ID
variables ;
run
;
Instrukcja SIZE identyfikuje zmienne zawierające informację o wielkości rozmiaru
próby. Instrukcja STRATA identyfikuje zmienne stratyfikujące. ID identyfikuje,
które zmienne mają być przekopiowane ze zbioru. Wszystkie dostępne metody
losowania w SAS można znaleźć na stronie www.v8doc.com
Prowadzący - Prof. dr hab. Ewa Frątczak, Mgr inż. Urszula Gach, Mgr Dorota Stala
Instytut Statystyki i Demografii SGH
Statystyka od podstaw z wykorzystaniem narzędzi SAS
Instytut Statystyki i Demografii SGH
24
Zadania
1. Stworzyć zbiór dane1 zawierający dwie zmienne i oraz y . Zmienna i ma
przyjmować wartości naturalne od 1 do 50, natomiast zmienna y ma być zmienną o
wartościach pochodzących z rozkładu Poissona. Znaleźć średnią i maksymalną
wartość zmiennej y.
2. Stworzyć zbiór sasowy file1 z pliku tekstowego file1. Zbiór ma zawierać 2
zmienne data i plec. Data ma być wyświetlona w formacie ddmmyy8.
3. Złączyć zbiory zbior1 i zbior2 po zmiennej i. Na podstawie zmiennej x stworzyć 3
nowe zmienne będące odpowiednio dniem, miesiącem i rokiem daty w zmiennej x.
4. Ze zbioru zbior1 utworzyć zbiór nowy zawierający wartości zmiennej i większe od
5.
5. Ze zbioru gosp2004 wylosować próbę 1000 elementów.
6. Na podstawie wylosowanego zbioru utworzyć nowy zbiór zawierający pojedynczą
informację dla każdego województwa o średnich dochodach w gospodarstwach
domowych danego województwa policzonych na podstawie zmiennej dochg.
Zadanie należy wykonać w EG oraz w SASie za pomocą języka 4GL.