ANALIZA DANYCH W STATA 8.0 ZAJĘCIA 6 1. Rozpoczęcie 1. Stworzyć w katalogu C:/temp katalog stata_6 2. Ściągnąć z internetu ze strony http://akson.sgh.waw.pl/~mproch plik zajecia6.zip (kryje się on pod tekstem Zajęcia 6 plik 1 / 1 ) 3. Zapisać ten plik w katalogu C:/temp/stata_6 4. Wypakować pliki do tego katalogu. Powinno powstać pięć plików: podlasie.dta zwieryg.dta zwierya.dta zwierym.dta zwieryj.dta 5. Otworzyć Statę 6. Zmienić katalog domyślny i rozpocząć logowanie następującymi poleceniami: cd C:/temp/stata_6 log using stata6a.log cmdlog using stata6b.log 2. Tworzenie tablic krzyżowych Tablice jednowymiarowe: tabulate nazwa zmiennej tab1 nazwy zmiennych Tablice dwuwymiarowe: tabulate nazwy dwóch zmiennych tab2 nazwy co najmniej dwóch zmiennych use podlasie.dta tabulate plec tab1 waga wzrost tabulate plec klaki tab2 plec klaki tab2 plec klaki wzrost tabulate plec klaki, chi2 tabulate plec wzrost, chi2 help tabulate Z6: 1 z 7
Inne typ tablic: table help table table plec table waga plec table waga plec wzrost table plec wzrost klaki table plec, contents(freq mean waga) table plec, contents(freq mean waga sd waga max waga min waga) table plec klaki, contents(freq mean waga sd waga max waga min waga) 3. Macierze help matrix (a) Tworzenie macierzy z klawiatury a = b = c = 1 3 5 7 1 3 5 2 4 6 8 2 4 6 matrix input a = (1,2\3,4) matrix input b = (5 6 \ 7 8) matrix input c = (1 2\3 4\5 6) matrix list a matrix list b matrix list c matrix dir matrix d = (2*sqrt(3), 82^2, 3/4 \ sin(_pi), _pi, exp(2^(4/5))) matrix list d (b) Podstawowe działania na macierzach matrix DD = a + b Z6: 2 z 7
matrix list DD matrix EE = a b matrix list EE matrix FF = c matrix list FF matrix GG = c*a matrix list GG matrix HH = (a,b\a,b ) matrix list HH matrix II = (a\b) matrix list II matrix JJ = (c,b) matrix list JJ matrix KK = 2*a matrix list KK matrix LL = b/2 matrix list LL matrix ZZ = -(c*(a,b)*(a\b))/2 matrix list ZZ (c) Funkcje na macierzach zwracające macierze help functions Wybrać funkcje macierzowe (Matrix functions matfcns) matrix q = inv(a) matrix list q matrix sprawdz = q*a matrix list sprawdz matrix qw = a I(2) matrix list qw matrix qwe = vec(a) matrix list qwe matrix XX = c[1..2,1...] matrix list XX (d) Funkcje na macierzach zwracające skalary set obs 10 generate a = trace(a) + 4 generate c = _n + rowsof(c) display det(a) generate d = c[2,1] * 4 generate e = 2*colsof(a) * det(a) /8 + 2 + a[2,2] Z6: 3 z 7
drop _all matrix dir (e) Transformacja macierze/zmienne input y x1 x2 1. 8 10 11 2. 10 12 13 3. 12 17 18 4. 11 16 19 5. 10 15 20 6. 11 14 25 7. end generate cons = 1 mkmat cons x1 x2 matrix dir matrix list x2 matrix X_m1 = (cons, x1, x2) mkmat cons x1 x2, matrix(x_m2) matrix list X_m1 matrix list X_m2 matrix rename X_m2 X matrix drop X_m1 mkmat y matrix alfa = inv(x'*x)*x'*y matrix list alfa help mataccum matrix accum XTX = x1 x2 matrix XTX_2 = X'*X matrix list XTX matrix list XTX_2 matrix XTX_3 = (x1, x2, cons)'*(x1, x2, cons) matrix list XTX_3 matrix vecaccum ytx = y x1 x2 matrix XTy = ytx' matrix XTy_2 = (x1,x2,cons)'*y matrix list XTy matrix list XTy_2 matrix alfa = inv(xtx)*xty matrix list alfa regress y x1 x2 Z6: 4 z 7
ereturn list matrix list e(b) matrix parametry = e(b) matrix list parametry drop _all matrix list X svmat X, names(col) 4. Łączenie baz Łączenie poziome: help append Łączenie pionowe: help merge Łączenie krzyżowe: help joinby Otwórzmy teraz dwa okna Staty. Na każdym z nich ustawmy katalog domyślny na C:/temp/stata_6. use zwieryg use zwierya Okno1: append using zwierya drop var1 var2 drop in 4/5 rename var1 zwierzak rename var2 opis save, replace append using zwierya Z6: 5 z 7
use zwierym merge using zwierym use zwieryj drop _merge joinby using zwieryj save zwierzaczki exit 5. Komentarze Notatki na zbiorze danych: note: ZWIERZAKI SA CUDOWNE note: ALE MAMY LADNE ZWIERY W NASZEJ BAZIE Notatki na zmiennych: note zwierzak: KOT PIEKNY - TS note zwierzak: TS POCZCIWY JEST PIES describe Pokazywanie komentarzy: notes notes list _dta notes list zwierzak in 2 notes drop _dta zwierzak in 1 notes drop _all save, replace Z6: 6 z 7
6. Ile tak naprawde jest plikow.ado? which list which regress which egen which pwcorr which anova which logistic W katalogu C:/temp/stata_6 powinno być 8 plików: stata6a.log i stata6b.log zawierające wpisane komendy oraz wyniki dotychczasowej pracy podlasie.dta zwieryg.dta, zwierya.dta, zwierym.dta, zwieryj.dta, zwierzaczki.dta Z6: 7 z 7