Begynnerkurs i Stata UiO vår 2019, Knut Waagan 1 / 95
Mål Komme i gang Grunnleggende datahåndtering Få litt oversikt 2 / 95
Temaer Håndtere datasett Beskrivende statistikk Lage grafer Litt estimering 3 / 95
Del 1: Første eksempel, litt grafikk Taste inn data Sette variabelnavn Lage et diagram Lagre data Bli kjent med grensesnittet 4 / 95
Hovedvinduet Delvinduer Vanlig meny 5 / 95
Data-vinduet Åpnes med meny Velg (Edit) 6 / 95
Data-vinduet Eget vindu Likner regneark 7 / 95
Taste inn data Marker celle Tast inn data 8 / 95
Taste inn data Tall eller tekst Tekst vises i rødt 9 / 95
Variabelnavn Navn på kolonner Kalles variabler Skrives inn her Vanlig å bruke små bokstaver Case sensitive Mellomrom ikke tillatt, derfor underscore 10 / 95
Browse mode Bare se, ikke røre Lukk for endring ved å velge forstørrelsesglass istedenfor blyant 11 / 95
Søylediagram I meny: Graphics Bar chart 12 / 95
Søylediagram Velg frekvens innen kategorier 13 / 95
Søylediagram Definer kategorier med en variabel 14 / 95
Søylediagram Tittel, caption Klikk Submit 15 / 95
Søylediagram I eget vindu: 16 / 95
Hvorfor Submit? OK : lag plot + lukk vindu Submit : lag plot Fint for prøving og feiling 17 / 95
Lagre graf Klikk File - Save as i graf-vinduet Save as type: Stata Graph (*.gph) betyr å lagre i Statas eget format...... kan redigeres senere, men ikke brukes i f.eks. Word 18 / 95
Lagre graf For å legge inn i rapporter, velg f.eks bildeformatet.png 19 / 95
Lagre datasettet For å lagre data slik at det kan åpnes senere i Stata: File - Save 20 / 95
Lagre data Lagres i et eget Stata-format (filendelse.dta) For andre formater, gå til File - Export i menyen 21 / 95
Hovedvinduets deler Alt vi gjør listes som kommandoer Variabelliste Detaljer om data Resultat-vindu Kommandoer kan skrives inn her, istedenfor å bruke menyene 22 / 95
Del 2: Datahåndtering 1 Laste inn data fra fil Datasettets struktur: observasjoner/variable, verdier, strenger/tall Value labels list utvalg av observasjoner med if og in 23 / 95
Logging Tabeller etc vil dukke opp i resultat-vinduet Hvordan lagre dem? 24 / 95
Logging Vi kan ta opp alt fra resultatvinduet Klikk Log - Begin Angi filnavn på loggen Close for å stoppe Eget Stata-format.smcl De kan oversettes til tekstfil og pdf Eller beskues med View 25 / 95
Et ferdig datasett Vi starter med et ferdig oppsatt datasett: http://www.stata-press.com/data/r14/states.dta Vi ser på strukturen til datasettet og på hvordan utvalgte deler kan listes opp 26 / 95
Laste inn data med Open For data-filer i Stataformat.dta Med Import kan vi laste inn andre formater 27 / 95
Hva gjør Open og Import? Datasett lagres i hurtigminne/ram og er klart for redigering og analyse For å ta vare på endringer permanent, må vi lagre på disk med Save eller Export. Pass på! Ikke skriv over rådata Stata: kun ett datasett i hurtigminnet av gangen (men vi kan slå sammen flere filer. Heldigvis!) 28 / 95
Datasettets struktur Kolonner: Variable Rader: Obervasjoner, datapunkter Celler, ruter: Verdier En Variabel har et navn og en forklarende label 29 / 95
Typer av data Rødt: Tekst, ( tekststreng, engelsk: string ) Ingen farge: Tall Blått: Kategorisk variabel Kolonner må bestå av samme type 30 / 95
Variabeltyper Kontinuerlige variabler: Alder, temperatur, inntekt, innbyggertall... Kategoriske variabler: Landsdel, kjønn, type legemiddel Ordnet kategorisk/ordinal: Utdanningsnivå, karakterer, terningkast i anmeldelser... 31 / 95
Kategoriske variabler i Stata For analyse krever Stata tallverdier i rutene Men tekst ofte best for mennesker Value labels : Ja, takk begge deler 32 / 95
Kategorier: hvor i Stata? Velg Manage value labels Eller klikk her 33 / 95
Value labels Klikk på + 34 / 95
Value labels Sammenhengen mellom tall og tekst listes opp Mulighet for å redigere eller lage nye label er 35 / 95
Codebook Hvis man bare vil se, ikke røre value labels: 36 / 95
Codebook Velg variabel Man kan velge flere 37 / 95
Codebook output Å skrive dette i kommandovinduet gir samme resultat 38 / 95
Ordnet kategorisk, aka ordinal Som kategorisk, men: 39 / 95
Ordnet kategorisk Som kategorisk, men: Rekkefølge viktig 40 / 95
Gjenbruk av value label Samme svaralternativ på ulike spørsmål? Bruk samme value label Hvordan? Skriv navnet på value labelen her 41 / 95
Listing en typisk Stata-kommando Data kan listes uten å åpne data-vindu 42 / 95
Listing Data kan listes uten å åpne data-vindu Velg rader 43 / 95
Listing Data kan listes uten å åpne data-vindu Velg variabler Kommandoen blir: list state marriage_rate in 1/10 Nå ser vi hvorfor variabelnavn ikke kan ha mellomrom 44 / 95
Listing I resultat-delvindu: 45 / 95
Seleksjon med if Velge alle stater hvor median alder er over 32 år: Kommando: list if median_age > 32 46 / 95
Seleksjon med if er lik Andre eksempler: er ikke lik list if state== KANSAS list if state!= KANSAS og / eller list if state!= KANSAS in 1/10 list if marriage_rate>100 & median_age<28 list if marriage_rate>100 median_age<28 Etter if kommer et logisk uttrykk Tekst-verdi må i anførselstegn, f. eks KANSAS 47 / 95
Seleksjon med value labels To måter: list if region==4 list if region== West :reg 48 / 95
Oppgaver Gi variabelen state en forklarende Label. Endre value labels slik at region angis uten forkortelser. Del inn kategorien West i Pacific og Mountain West. Førstnevnte skal omfatte alle stater med Stillehavskyst. Lagre endringene i en ny fil. List opp alle statene i North East med median alder over 31 år. Listen skal kun inneholde statenes navn og alder. List opp all stater med median alder mellom 29 og 31 år. 49 / 95
Del 3: Datahåndtering 2 Importere data Generere kategorier fra tekst med encode Lage nye variable Manglende verdier Dokumentere arbeid Koble sammen datasett 50 / 95
Laste inn csv-fil Import - Text data (delimited, *.csv,...) Komma-separerte verdier Eksempel 51 / 95
Laste inn csv-fil Velg fil Inndeling med komma Les variabelnavn Forhåndsvisning 52 / 95
Laste inn csv-fil Vi fikk ikke med verdi-koding av region To verdier er utelatt (med vilje) fra median_age 53 / 95
Hvordan lage kategoriske data fra tekst? Kommando: encode region, generate(region_num) Vi vil ha region som blå variabel 54 / 95
Hvordan lage kategoriske data fra tekst? Velg opprinnelig tekstvariabel Navn på ny kategorisk variabel Navn på ny value label 55 / 95
Hvordan lage kategoriske data fra tekst? 56 / 95
Dokumentasjon Kommandoene kan lagres som en tekst-fil Og ikke nok med det: Vi kan få Stata til å gjøre alt som står i filen med et enkelt tastetrykk! Kalles Do-fil: Filendelse.do Åpne Do-fil-vinduet her 57 / 95
Min første.do-fil Skriv inn eller kopier fra f.eks. historikk Klikk Play for å utføre kommandoene Play utfører kun markerte kommandoer hvis noe er markert 58 / 95
Min første.do-fil Lagre Kalles do-fil, syntaks-fil, (Stata-)skript 59 / 95
Min første.do-fil Asterisk-tegnet * forteller Stata at ei linje ikke er en kommando Dermed kan vi skrive beskjeder til oss selv og andre 60 / 95
do-filer, hvorfor? Dokumentasjon for en selv og andre Feilsøking: lettere å finne akkurat hvor det skjærer seg Fleksibilitet: Lett å gjøre endringer Gjenbruk: f.eks. samme analyse på nye data Men det er så lettvint med menyer!?... Jepp! Bare husk å lime inn kommandoen i do-filen 61 / 95
Lage nye variabler generate brukes til å lage nye variable. For eksempel kan vi regne om fra per 100.000 til prosent. 62 / 95
Lage nye variabler Med dialogboks: 63 / 95
Lage nye variabler Navn på ny variabel Skriv inn uttrykket, eller klikk Create for Expression builder 64 / 95
Lage nye variabler Velg variabler fra liste, og regneoperasjoner fra kalkulator 65 / 95
Lage nye variabler: funksjoner Funskjonen round brukes til avrunding 66 / 95
Lage nye variabler: funksjoner Funskjonen round finnes også i Expression builder. 67 / 95
Fort og gæli: Klipp og lim Klipp og lim inn i Word Bruk font Courier New 68 / 95
Litt ryddigere klipp og lim Marker og høyreklikk tabell (til Excel, tsv) html-tabell bilde av tabellen 69 / 95
Missing values Vi åpnet en csv-fil tomme felt Stata markerer tomme felt med et punktum 70 / 95
Missing values Punktum betyr missing value, at verdien mangler Statas kommandoer forstår dette 71 / 95
Missing values-notasjon er kjempelurt Vi får riktig gjennomsnitt 72 / 95
Men: En lumsk felle Verdien. regnes som et veldig stort tall (større enn alle andre) 73 / 95
Men: En lumsk felle Løsning: list if median_age > 33 & median_age <. 74 / 95
Lete etter manglende verdier 75 / 95
Lete etter manglende verdier Antall manglende av hver variabel (eller valgte variable) 76 / 95
Laste inn fra Excel Import - Excel... 77 / 95
Laste inn fra Excel Prøv å lage variabelnavn automagisk Forhåndsvisning 78 / 95
Laste inn fra Excel Hva er ulikt det opprinnelige datasettet? 79 / 95
Endre visning av tall Endre til 4 tegn 80 / 95
Endre visning av tall 81 / 95
Koble datasett Hva om data ligger i ulike filer? New obses Legge til observasjoner: append Legge til variable: merge 82 / 95
Koble datasett Stata: kune ett datasett av gangen Nye data må lese fra Stata-fil (*.dta)... så vi må kanskje lagre som.dta first N e w New obses Add observations: append v a r s Add variables: merge 83 / 95
Combining data sets append matcher variabelnavn merge matcher verdi av en (eller flere) key variable, f.eks. en persons ID-nummer Add observations: append Add variables: merge 84 / 95
Å legge til variable Oppgave: koble disse to datasettene Hvilke rader hører sammen? 85 / 95
Å legge til variable Først må fil 1 åpnes Så kobles med fil 2 Vi må spesifisere at id er nøkkelen 86 / 95
Å legge til variable Kan disse datasettene kobles? 87 / 95
Å legge til variable Kan disse datasettene kobles? Ja, med en såkalt many-to-one merge (eller one-to-many avhengig av hvilken vi åpner først) 88 / 95
Å legge til variable Vi prøver med disse to datasettene Først: åpne mergetest0.dta Så dialogboks: Data -> Combine datasets -> Merge... mergetest0.dta mergetest1.dta 89 / 95
Å legge til variable en-til-en merge On file mergetest1.dta 90 / 95
Å legge til variable Kommandoen 91 / 95
Å legge til variable Variablen _merge forteller hvordan koblingen gikk Den er kodet slik: 92 / 95
Å legge til variable, innstillinger Velg variable som skal beholdes Velg om data skal oppdateres eller endres 93 / 95
Oppgaver Åpne csv-filen med gapminder-data. Lag en kategorisk variabel for kontinent Undersøk om det finnes manglende verdier, f.eks med misstable Regn ut GDP = pop * gdppercap for hver observasjon Lag en do-fil som gjør trinnene over. Prøvekjør den! 94 / 95
Oppgaver merge Åpne mergetest0.dta. Fjern en observasjon med drop if id == 3 Koble med mergetest1.dta. Hva skjer med id 3? Prøv ut hva som skjer hvis en id mangler. Finnes det menyvalg for å endre hvordan merge håndterer disse to situasjonene? 95 / 95