ANALIZA DANYCH W STATA 8.0 1. Opis wyglądu programu Stata ZAJĘCIA 1 Menu i ikonki Okna: wpisywania poleceń (command) wynikowe (results) dotychczasowych poleceń (review) zmiennych (variables) viewer danych (data editor) coś a la notatnik gdzie można pisać programy i dłuższe polecenia (do-file editor) Na dole (pasek stanu) znajduje się katalog domyślny skąd są otwierane i dokąd są zapisywane pliki (chyba że w poleceniu wyszczególniona jest jakaś inna lokalizacja). Menu Window 2. Praca z programem Stata Wpisuje się polecenia i wyniki są w oknie wynikowym 3. Rozpoczęcie logowania Komendy, wyniki i komentarze można zapisać do pliku.smcl lub.log Plik.log jest odczytywany np. przez Worda. Plik.smcl jest odczytywany tylko przez Statę. Włączając Statę będziemy musieli za każdym razem zmieniać katalog domyślny na C:/Temp/stata_1, i jednocześnie pamiętać o rozpoczęciu logowania. Ułatwimy sobie to zadanie tworząc plik z rozszerzeniem.do: 1 z 9
(1) Stworzyć w katalogu C:/temp katalog stata_1 (2) Otworzyć do-file editor i wpisać następujące polecenia: cd C:/temp/stata_1 log using stata1a.log, append cmdlog using stata1b.log, append (3) Zapisać ten plik jako start.do w katalogu C:/temp (4) Otworzyć zwykły notatnik i napisać w nim następujące zdanie do C:/temp/start (5) Za każdym razem gdy uruchamiamy Statę trzeba przekopiować to co jest w notatniku do okna poleceń w Stacie i nacisnąć enter Komentarze wpisuje się z gwiazdką: *KOTA KOTA KOT 4. Rozszerzenia plików związanych z programem Stata.dta baza danych.log,.smcl wyniki pracy (logowanie).gph wykres.do plik tekstowy do wpisywania poleceń.ado plik tekstowy z zarejestrowanym programem 5. Pierwsze kroki verinst Stata odróżnia małe i wielkie litery Separator miejsc dziesiętnych to kropka display 2.2 + 3 display 2,2 + 3 Brakujące dane: kropka oraz symbole od.a do.z są traktowane jako liczby nieskończenie duże. Wszystkie liczby <. <.a <.b <... <.z Żeby nie uwzględniać w obliczeniach missing values, trzeba w wyrażeniu warunkowym dać <. Uwzględniając tylko missing values należy dać: >=. 2 z 9
6. Wygląd typowego polecenia {by zmienne:} polecenie {zmienne} {= wyrażenie} {if wyrażenie} {in zakres} {[wagi]} {, opcje} 7. Korzystanie z pomocy Menu: Help >>> Contents Wejść np. do graphics help contents Menu: Help >>> Stata Command... Opis komendy: np. display help display help graph Wejść np. do two-way scatterplot Menu: Help >>> Search... >>> Search documentation and FAQs Znajdywanie czegoś, np.: search variance 8. Typy zmiennych search data type Zmienne liczbowe: Liczby całkowite: byte: -127;100 int: -32767;32740 long: -2 147 483 647; 2 147 483 620 Ułamki: float: ~-10 38 ;10 36 double: ~-10 307 ;10 308 Zmienne tekstowe: str1 str2 str3... str80 Kasowanie bazy danych: clear Uwaga: Polecenia clear nie da się cofnąć Wyjście ze Staty: exit 3 z 9
do C:/temp/start 9. Wprowadzanie danych a) w oknie edycji help edit Tylko przeglądanie: browse Przeglądanie i modyfikowanie: edit Wpisać w oknie edycji 3 zmienne: 1 2.2 a 2 3.3 b 3 4.4 c 4 5.5 d Przed zamknięciem okna edycji nacisnąć preserve (preserve nie zachowuje na dysku!!! zachowuje tylko tymczasowo w pamięci komputera!!!) describe list b) z klawiatury help input input z1 z2 z3 (tak nie da rady wpisać poniższych trzech zmiennych, bo polecenie input w domyśle ustawia zmienne na typ float) z polecenia input wychodzi się wpisując na początku wiersza end 1 2.2 a 2 3.3 b 3 4.4 c 4 5.5 d input int z1 z2 str5 z3 1. 1 2.2 a 2. 2 3.3 b 3. 3 4.4 c 4. 4 5.5 d 5. end 4 z 9
describe list c) z Excela metoda I Otworzyć plik Z1_plik1.xls ze strony: http://akson.sgh.waw.pl/~mproch (plik ten znajduje się pod tekstem Zajęcia 1 plik 1 / 1 1) tyle ile chcemy mieć miejsc dziesiętnych tyle musi być widoczne na ekranie 2) zamienić przecinki na kropki 3) zapisać jako plik tekstowy oddzielony tabulacjami (dać nazwę Z1_plik1.txt) w katalogu C:/temp/stata_1 4) wiersz nagłówka (z nazwami zmiennych) może być ale nie musi help insheet insheet using Z1_plik1.txt Formuła insheet bierze domyślnie pierwszy wiersz jako nazwy zmiennych lub gdy w pierwszym wierszu zaczynają się od razu wartości obserwacji pierwszy wiersz jako pierwszą obserwację dając jednocześnie domyślne nazwy zmiennych jakoś na rozum komputera describe list d) z Excela metoda II Pamiętać o zamianie przecinków na kropki Zaznaczyć obserwacje, skopiować i wkleić do Staty do okna edycji edit Teraz wkleić dane Dać preserve (preserve nie zachowuje jednak danych na dysku) list e) z pliku tekstowego Odbędzie się to może na jakichś innych zajęciach Dla zainteresowanych: polecenia infile lub infix (więcej: help infile help infix 5 z 9
10. Zachowywanie i otwieranie bazy danych insheet using Z1_plik1.txt Zmienione dane trzeba albo przeczyścić, albo zapisać, żeby móc wyjść ze Staty. a) Przeczyszczenie:, clear Można też najpierw clear, a potem exit do C:/temp/start b) Zapisywanie: insheet using Z1_plik1.txt help save save dane.dta Można zamknąć Statę (plik został zachowany w katalogu domyślnym C:/temp/stata_1) do C:/temp/start Otwieranie use dane.dta edit dopisać stan_51 jako wartość zmiennej state dla obserwacji 51 Przed wyjściem z okna edycji dać preserve!!! Nawet po wyjściu z okna edit dane nie są zapisane. Żeby zapisać trzeba koniecznie dać polecenie save. save dane.dta Ponieważ plik o tej nazwie w tym katalogu już istnieje, to trzeba dać opcję replace. Względnie zapisać pod inną nazwą. save dane.dta, replace Można w skrócie użyć polecenia save, replace save, replace do C:/temp/start 11. Przeszukiwanie bazy danych i wybieranie rekordów (a) W oknie wynikowym use dane 6 z 9
help list list state region pop list state - pop list pop* list pop??? Można robić skróty nazw zmiennych list st list d list de Wyrażenia: > >= < <= == + - / ^! ~ &!= ~= search expression Wejść na operators list state pop if pop>=5000000 list state pop if pop>=5000000 & pop <. Trzeba wpisywać <. a nie!=., gdyż missing values mogą być również z literami (od.a do.z) list medage list state pop medage if medage == 27.1 (tak nie da rady, jeśli w takim wyrażeniu przyrównujemy zmienną typu float do jakiegoś ułamka to trzeba koniecznie ułamek wziąć w nawias i przed nawiasem napisać float dotyczy to tylko przyrównywania do ułamków zmiennych o typie float) list state pop medage if medage == float(27.1) list state pop medage if medage == 30 W tym drugim float może być ale nie musi (bo nie ma ułamka) Gdy są inne typy zmiennych: byte, int, long oraz double --- absolutnie funkcja float() nie może występować list state pop if!(death == 39255) list state pop death if death/2 ==22115 list state region medage if region == "N Cntrl" & (state == "Indiana" medage==float(29.9)) list in 1 list in 8 list in -2 list in 3/6 list in -10/-1 list in f list in l (W tym ostatnim to nie jest jedynka tylko mała litera el od angielskiego last) Wszystko można łączyć, np. list state region if region == "NE" region == "West" in 1/40 To wszystko można także zastosować do poleceń edit i browse: 7 z 9
edit state pop in 1/10 browse if region == West Zliczanie rekordów w bazie danych count count if region == West 12. Coś ze statystyki Średnia, odchylenie standardowe, wartość minimalna i maksymalna, percentyle, skośność, kurtosis: help summarize summarize summarize pop, detail summarize in 1/15 if region == N Cntrl list pop in 1/15 if region == N Cntrl Regresja liniowa: Polecenie regress o konstrukcji: regress y x1 x2 x3 xn (pierwsza zmienna to zmienna objaśniana, wszystkie następne są zmiennymi objaśniającymi) help regress regress medage pop popurban divorce if state!= stan_51 predict teoret Polecenie predict teoret po wykonaniu regresji tworzy zmienną o nazwie teoret, która zawiera wartości teoretyczne zmiennej objaśnianej. regress medage pop popurban divorce Source SS df MS Number of obs = 50 -------------+------------------------------ F( 3, 46) = 2.15 Model 17.283667 3 5.76122235 Prob > F = 0.1068 Residual 123.236318 46 2.67905039 R-squared = 0.1230 -------------+------------------------------ Adj R-squared = 0.0658 Total 140.519985 49 2.8677548 Root MSE = 1.6368 ------------------------------------------------------------------------------ medage Coef. Std. Err. t P> t [95% Conf. Interval] -------------+---------------------------------------------------------------- pop 2.18e-07 3.52e-07 0.62 0.539-4.91e-07 9.27e-07 popurban 2.12e-08 3.98e-07 0.05 0.958-7.79e-07 8.22e-07 divorce -.0000237.0000272-0.87 0.389 -.0000785.0000311 _cons 29.0436.3929523 73.91 0.000 28.25262 29.83457 ------------------------------------------------------------------------------ Interpretacja powyższego okna wynikowego dla studenta/studentki SGH powinna być znana 8 z 9
W katalogu C:/temp/stata_1 powinny być 4 pliki: stata1a.log i stata1b.log zawierające wpisane komendy oraz wyniki dotychczasowej pracy dane.dta z bazą danych obejmującą 51 obserwacji Z1_plik1.txt z danymi w formacie tekstowym oddzielonym tabulacjami W katalogu C:/temp powinien znajdować się także plik start.do, który stworzyliśmy na początku 9 z 9