Zajęcia nr 4 – Wprowadzenie do pakietu Stata



Pobieranie 71,41 Kb.
Data03.03.2018
Rozmiar71,41 Kb.

przygotował: Tomasz Rybnik
Zajęcia nr 4 – Wprowadzenie do pakietu Stata
Uruchom Statę.
set matsize 800 – komenda ta pozwala na ustalenie ile maksymalnie zmiennych może być wykorzystywane w komendach estymacyjnych Staty. Domyślnie jest ich 40, można to zmienić na maksymalnie 800 (dla Intercooled Stata).
set memory 100m – przydzielenie Stacie pamięci operacyjnej (literka m oznacza, że jest to 100MB. Możliwe jest również analogiczne wykorzystywanie literek b, k oraz g, trzeba jednak robić to rozsądnie, aby za nadto nie obciążać systemu). UWAGA: niemożliwa jest zmiana przydziału Stacie pamięci, gdy wczytany jest już zbiór danych!
query memory – sprawdzenie ustawień
use „ścieżka_dostępu\nazwa_pliku.dta”, clear - wczytanie pliku z danymi. Opcjonalna komenda clear powoduje zastąpienie zbioru, który był w pamięci Staty (o ile był jakikolwiek), nowym zbiorem. Proszę wczytać zbiór dane_4.dta
describeopis zbioru danych
count – wyświetlenie ilości obserwacji
edit – wyświetlenie zbioru danych

clear allwyczyszczenie zbioru danych

/proszę otworzyć plik dane_4.xls w MS Excel, skopiować dane oraz wkleić je do edytora danych Staty/



tabulate nazwa_zmiennej – wyświetlenie częstości występowania wartości zmiennych

np. tab pd05


Tabela wynikowa może wydawać się mało czytelna, a to dlatego, że kategorie zmiennych podawane są jako wartości liczbowe. Możemy, poprzez nadanie im etykiet, zmienić format wyświetlania:

label define nazwa_etykiet wartość1 „etykieta1” wartość2 „etykieta2” … - ustalenie etykiety

np. label define stan_cyw 1 „w zw. mal” 2 „separacja” 3 „single” 4 „rozwiedzeni” 5 „wdowy/-owcy”



label values nazwa_zmiennej nazwa_etykiet – nadanie wartościom zmiennej etykiet

np. label values pd05 stan_cyw


Sprawdźmy jak poprawiła się czytelność tabeli:

tab pd05
Etykiety możemy nadawać nie tylko wartościom zmiennych, ale też samym zmiennym:

label var nazwa_zmiennej „etykieta”, np. label var pd05 „stan_cywilny”

Sprawdźmy: tab pd05


Zmienienie nazwy zmiennej (a nie tylko jej etykiety) odbywa się zgodnie ze składnią:

rename stara_nazwa nowa_nazwa

np. rename pd05 stan_cywilny


/zadanie: proszę nadać etykiety wartościom zmiennej pd02, a jej samej zmienić nazwę na ‘plec’/

tabulate nazwy_zmiennych – tabela krzyżowa
/zadanie: ile było zamężnych kobiet?/

Korzystanie z dotychczasowo wykonanych komend:
Wyczyśćmy zbiór danych wpisując:

clear all

lub: drop _all

Korzystając z okna REVIEW, proszę raz jeszcze wczytać zbiór dane_4.dta

Ten zbiór zawiera zmienne, które mają etykiety (co prawda są one w języku angielskim, ale jak ktoś woli poskie tu już powinien wiedzieć jak je sobie przerobić)


Tworzenie nowych zmiennych:
generate nazwa_zmiennej = exp – gdzie exp jest formułą służącą do stworzenia nowej zmiennej.

np. gen wiek=rok_badania – rok_urodzenia



gen stala=1 – formuła ta stworzy stałą równą 1.
/zadanie: stwórz nową zmienną ‘start’, która ma zawierać informacje o wieku osoby w momencie podjęcia pracy/
Wykorzystanie komendy if (komendy, która warunkuje wykonanie innej komendy do określonego po if przypadku). Ogólna postać:

komenda if expgdzie komenda to komenda, do której wykonania if ma być warunkiem, zaś exp to ów warunek.


Przykład:

count if pd02==1

edit if ph02==2
Dwa słowa o operatorach w wyrażeniach:


/zadanie: policz ilość osób, które miały ponad 50 lat/
Komenda replace – do zmieniania wartości zmiennym. Składnia:

replace nazwa_zmiennej=nowa_wartość if exp – gdzie exp jest warunkiem zmiany wartości

np. replace start=100 if start>30


/zadanie: wygeneruj nową zmienną ‘wiek_2’, która będzie przyjmowała wartości ‘1’, kiedy osoba jest starsza niż 60 lat. Za pomocą komendy edit zobacz jak wygląda nowostworzona zmienna. Zamień wartości typu ‘missing’ (miejsca, w których zmienna ma wartość ‘.’) na wartość ‘0’. O czym mówi nam teraz zmienna ‘wiek_2’?/
Rekodowanie wartości zmiennych – komenda recode. Składnia:

recode nazwa_zmiennej wartość_stara1=wartość_nowa1 wartość_stara2=wartość_nowa2 …

Przykładowo, chcemy zrekodować wartości stanu cywilnego (pd05) – załóżmy, że bardziej niż konkretny stan cywilny interesują nas trzy stany:



  1. osoba jest w związku małżeńskim,

  2. osoba nie w związku małżeńskim i nigdy nie była,

  3. osoba nie jest w związku małżeńskim, ale ma już za sobą doświadczenie w byciu w nim

Za pierwszy stan odpowiada, oczywiście, wartość 1 zmiennej pd05. Za drugi stan odpowiada wartość 3, a za stan trzeci odpowiadają wartości 2, 4, 5. Uznając, że wartości 1, 2, 3 będą oznaczać odpowiednie stany nowotworzonej zmiennej (to mogą być jakiekolwiek inne liczby – zwykle przyjmuje się je od jedynki [lub od zera]), możemy użyć komend:

gen stan=pd05 – jeśli wygenerujemy dodatkową zmienną (tu ‘stan’), to nie „naruszymy” zmiennej pd05, więc nie stracimy informacji w niej zawartych. Dalej:

recode stan 1=1 3=2 2=3 4/5=3
W ten sposób, na bazie zmiennej pd05 uzyskaliśmy zmienną niosącą trochę zmodyfikowaną informację.

UWAGA! Rekodowanie zmiennych jest operacją nieodwracalną!


/zadanie: zrekoduj zmienną pe07 na zmienną, która zawiera dwie wartości – powiedzmy 0 i 1, odpowiednio odpowiedzialne za [osoby z wykształceniem podstawowym i średnim] oraz za [osoby z wykształceniem wyższym]/
Komenda summarize – przedstawiająca statystyki opisowe zmiennych. Składnia:

summarize nazwy_zmiennych

np. sum pi02 age


/zadanie: jakie są średnie zarobki osób, które nie mają ograniczeń dziennej aktywności (zmienna ph02) oraz posiadają wykształcenie wyższe/
Komenda sort – do … sortowania. Składnia:

sort nazwa_zmiennej1 nazwa_zmiennej2 nazwa_zmiennej3 … - sortuje zbiór danych po wartościach wymienionych zmiennych w zadanej kolejności.

np. sort pd02 pi02



Regresja

Powiedzmy, że chcemy oszacować model determinantów zarobków i zakładamy (na naszym poziomie musimy przyjąć to, dość naiwne założenie), że wpływają na nie doświadczenie i wiek. Budujemy więc model:



Model oszacowany będzie postaci:



Oszacowania parametrów modelu wyznaczamy MNK. W stacie służy do tego komenda regress:



regress zmienna_objaśniana zmienna_objaśniająca1 zmienna_objaśniająca2 … - taki model automatycznie będzie zawierał stałą.

u nas: reg pi02 age exp



Na koniec: korzystanie z HELPa:

  1. jeśli użytkownik zna komendę (w pełnej wersji – żadnych skrótów, czyli generate a nie gen), to aby wyświetlić dokładną składnię może wpisać:

help komenda (np. help regress)

  1. jeśli postać komendy jest nieznana, ale użytkownik ma przekonanie, że Stata powinna umożliwiać przeprowadzenie operacji związanej z tą komendą (np. nie wiemy jak definiowane są w Stacie operatory logiczne) to możemy skorzystać z opcji search, po której Stata wyświetli listę haseł utożsamianych z wpisanym po search zagadnieniem:

search zagadnienie (np. search operators)



©operacji.org 2017
wyślij wiadomość

    Strona główna