Programowanie w SAS

Transkrypt

Programowanie w SAS
Anna Szafranska
Programowanie w SAS
przetwarzanie danych
Czesć I
Jezyk 4GL
Gdansk 2013
PRZEWODNICZĄCY KOMITETU REDAKCYJNEGO
WYDAWNICTWA POLITECHNIKI GDAŃSKIEJ
Janusz T. Cieśliński
RECENZENT
Piotr Rozenbajgier
REDAKTOR JĘZYKOWY
Agnieszka Frankiewicz
PROJEKT OKŁADKI
Wioleta Lipska-Kamińska
Wydano za zgodą
Rektora Politechniki Gdańskiej
Oferta wydawnicza Politechniki Gdańskiej jest dostępna pod adresem
http://pg.gda.pl/wydawnictwo/oferta
 Copyright by Wydawnictwo Politechniki Gdańskiej, Gdańsk 2013
Utwór nie może być powielany i rozpowszechniany, w jakiejkolwiek formie
i w jakikolwiek sposób, bez pisemnej zgody wydawcy
ISBN 978-83-7348-486-3
WYDAWNICTWO POLITECHNIKI GDAŃSKIEJ
Wydanie I. Ark. wyd. 11,0, ark. druku 10,5, 1022/752
Druk i oprawa: EXPOL P. Rybiński, J. Dąbek, Sp. Jawna
ul. Brzeska 4, 87-800 Włocławek, tel. 54 232 37 23
Spis treści
Wstęp ..................................................................................................................................................................... 5
1.Wprowadzenie ...................................................................................................................................................7
1.1.Charakterystyka języka .............................................................................................................................................. 7
1.2.Środowisko pracy ........................................................................................................................................................ 8
1.2.1.Base SAS .............................................................................................................................................................8
Informacje pomocnicze ....................................................................................................................................................... 9
1.2.2.SAS Enterprise Guide ........................................................................................................................................ 10
1.3.Biblioteki ...................................................................................................................................................................... 11
2. Podstawy programowania w SAS .....................................................................................................................16
3. Zbiory danych w SAS ........................................................................................................................................18
3.1.Przechowywanie danych ............................................................................................................................................ 18
3.2.Tworzenie tabel ........................................................................................................................................................... 19
3.3.Czytanie zbiorów danych ........................................................................................................................................... 22
3.4.Filtrowanie danych i zmiana nazw zmiennych ....................................................................................................... 26
3.5.Sortowanie danych i przetwarzanie w grupach ...................................................................................................... 30
3.5.1.Sortowanie zbiorów danych ............................................................................................................................. 30
3.5.2.Przetwarzanie w grupach .................................................................................................................................36
3.6.Łączenie zbiorów danych ........................................................................................................................................... 38
3.6.1.Relacje między zbiorami ..................................................................................................................................38
3.6.2.Sposoby łączenia zbiorów ................................................................................................................................ 39
3.7.Transpozycje zbiorów danych ................................................................................................................................... 50
3.8.Zadania ......................................................................................................................................................................... 54
4. Tworzenie raportów ..........................................................................................................................................55
4.1.Kontrola wyglądu okna OUTPUT ........................................................................................................................... 55
4.2.Tytułowanie raportów ................................................................................................................................................ 56
4.3.System ODS ................................................................................................................................................................. 56
4.4.Procedura PRINT ....................................................................................................................................................... 57
4.4.1.Tworzenie raportów podstawowych ...............................................................................................................57
4.4.2.Tworzenie raportów złożonych .......................................................................................................................58
4.5.Procedura REPORT .................................................................................................................................................... 65
5. Obliczenia na danych ........................................................................................................................................72
5.1.Wyrażenia SAS ............................................................................................................................................................ 72
5.2.Funkcje SAS ................................................................................................................................................................. 73
5.3.Warunkowe i iteracyjne przetwarzanie danych ...................................................................................................... 84
5.3.1.Przetwarzanie warunkowe ............................................................................................................................... 84
5.3.2.Przetwarzanie iteracyjne ..................................................................................................................................87
5.3.3.Wartości inicjalne zmiennych .........................................................................................................................90
5.4.Nawigacja po instrukcjach DATA STEP .................................................................................................................. 92
5.4.1.Instrukcja GOTO ..............................................................................................................................................92
5.4.2.Instrukcja LINK ................................................................................................................................................93
5.4.3.Instrukcje CONTINUE i LEAVE ....................................................................................................................95
5.5.Tworzenie i wykorzystanie tablic .............................................................................................................................. 96
5.5.1.Przetwarzanie tablicowe ................................................................................................................................... 96
5.5.2.Tablice tymczasowe ........................................................................................................................................... 100
5.6.Zadania ......................................................................................................................................................................... 101
4
Anna Szafrańska
6. Formaty i informaty ..........................................................................................................................................104
6.1.Formaty i informaty systemowe ................................................................................................................................ 104
6.2.Przypisanie formatu i informatu zmiennej .............................................................................................................. 106
6.3.Formaty użytkownika ................................................................................................................................................. 109
6.3.1.Tworzenie formatów – instrukcja VALUE .................................................................................................... 110
6.3.2.Tworzenie formatów na podstawie zbiorów danych SAS ............................................................................ 112
6.3.3.Funkcja jako etykieta formatu .........................................................................................................................113
7. Indeksy ..............................................................................................................................................................115
7.1.Typy indeksów ............................................................................................................................................................. 116
7.2.Wybór zmiennych indeksowanych ........................................................................................................................... 116
7.3.Tworzenie i usuwanie indeksów ............................................................................................................................... 117
7.4.Wykorzystanie indeksów ........................................................................................................................................... 119
7.4.1.Instrukcja WHERE ...........................................................................................................................................119
7.4.2.Instrukcja BY .....................................................................................................................................................122
8. Statystyki opisowe .............................................................................................................................................123
8.1.Procedury MEANS i SUMMARY ............................................................................................................................ 123
8.2.Procedura FREQ ......................................................................................................................................................... 132
8.3.Zadania ......................................................................................................................................................................... 138
9. Graficzna prezentacja danych ...........................................................................................................................140
9.1.Procedura GCHART .................................................................................................................................................. 140
9.2.Procedura GPLOT ...................................................................................................................................................... 147
Dodatek ..................................................................................................................................................................154
Odpowiedzi do zadań ............................................................................................................................................155
Literatura ...............................................................................................................................................................161
Indeks .....................................................................................................................................................................162