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