Enkel beskrivande statistik

av Anders Sundell

Det första man bör göra när man börjar jobba med en datamängd är att bekanta sig med de relevanta variablerna. Hur många analysenheter har vi information om? Vad är spridningen i värden? Vad är centralmåtten, som medelvärde och median? Vad är min och max?

Dels behöver man informationen för att göra bättre analyser, men eftersom informationen också behövs för att tolka resultaten på rätt sätt är det också bra att presentera dem när man skriver om resultaten. Ofta inleds de empiriska delarna i uppsatser med någon enklare beskrivande statistik. För detta finns det många olika kommandon att använda. Jag kommer här gå igenom några av de enklaste och mest användbara.

För att ha något att jobba med kommer vi i det här exemplet att använda oss av QoG basic-datamängden. Här har jag skrivit in sökvägen till datamängden direkt på internet, men man kan givetvis ladda ned den till sin dator och öppna den därifrån istället - det är vanligtvis att rekommendera.

In [1]:
use "https://www.qogdata.pol.gu.se/data/qog_bas_cs_jan18.dta", clear
(Quality of Government Basic dataset 2018 - Cross-Section)

Codebook

Kommandot codebook ger en översiktlig sammanfattning av en variabel, hur många analysenheter som har giltiga värden, om det finns någon etikett på de olika värdena, med mera. Vi provar att använda det på variabeln fh_status, som visar hur fritt ett land är, som mätt av den amerikanska organisationen Freedom House.

In [2]:
codebook fh_status
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
fh_status                                                                                                                                                                                                                                        Freedom Status
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                  type:  numeric (byte)
                 label:  lblfhstatus

                 range:  [1,3]                        units:  1
         unique values:  3                        missing .:  0/194

            tabulation:  Freq.   Numeric  Label
                            89         1  Free
                            54         2  Partly Free
                            51         3  Not Free

Först på type ser vi att det är en numerisk variabel. Den har alltså siffervärden, även om koderna i det här fallet motsvarar olika kvalitativa bedömningar.

Vi ser att range är 1,3, vilket betyder att variabeln har värden som spänner mellan 1 och 3. Det finns också 3 unika (alltså olika) värden i datamängden.

0 av 194 analysenheter i datamängden har "missing" på variabeln, vilket är bra. Variabelns information finns för alla länder i datamängden.

Slutligen får vi också en så kallad frekvenstabell, som visar hur många analysenheter (i kolumnen Freq.) som har varje värde, och vad det värdet har för etikett (tex Free). Använder man samma kommando på en variabel med fler värden får man ut delvis andra uppgifter. Vi kan till exempel prova med ett mått på BNP per capita, gle_rgdpc:

In [9]:
codebook gle_rgdpc
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
gle_rgdpc                                                                                                                                                                                                                            Real GDP per Capita (2005)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                  type:  numeric (float)

                 range:  [285.95,95696.97]            units:  .01
         unique values:  192                      missing .:  2/194

                  mean:   12596.3
              std. dev:   15803.7

           percentiles:        10%       25%       50%       75%       90%
                           1131.48   2297.41   6955.53   17127.8   32266.6

Mycket är samma, men här fick vi också ut medelvärdet, standardavvikelsen, och olika percentiler. Den 50:ende percentilen (6955.53) är också medianen. Lika många länder har alltså BNP per capita under 6955.53 som över det.

Summarize

Summarize-kommandot, som kan förkortas sum, ger lite mer kondenserad statistik, och passar bäst att använda på kontinuerliga variabler där medelvärdet är av intresse, som till exempel BNP per capita. Det fina med kommandot är att man kan skriva in flera variabler på samma gång, och då få ut en lättöverskådlig tabell. Ett exempel:

In [7]:
sum gle_rgdpc gle_pop wdi_poprul wdi_popurb
    Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
   gle_rgdpc |        192     12596.3     15803.7     285.95   95696.97
     gle_pop |        192    35888.69    135162.5         10    1324353
  wdi_poprul |        193    43.20123    23.53091          0      91.45
  wdi_popurb |        193    56.79877    23.53091       8.55        100

När man gör regressionsanalyser är oftast alla variabler av den här typen, och då passar sum-kommandot bra. I tabeller med beskrivande statistik i uppsatser är det ofta precis de här uppgifterna - antal observationer, medelvärde, standardavvikelse, min och max som efterfrågas.

Tabulate

För kategoriska variabler, alltså variabler med distinkta steg (utan decimaler), är det ofta inte intressant att titta på medelvärden. Variabeln fh_status som vi tittade på tidigare är till exempel en sådan. Då kan det istället vara bättre med en frekvenstabell, som listar de olika värdena, hur många analysenheter som har respektive värde, och hur många procent de utgör av hela datamängden.

Kommandot kan förkortas tab.

In [8]:
tab fh_status
    Freedom |
     Status |      Freq.     Percent        Cum.
------------+-----------------------------------
       Free |         89       45.88       45.88
Partly Free |         54       27.84       73.71
   Not Free |         51       26.29      100.00
------------+-----------------------------------
      Total |        194      100.00

Antalet analysenheter som har respektive värde såg vi också med codebook, men mer intressant än antalet är ofta procentandelen. Här kan vi se att knappa 46% av världens länder betecknas som fria, medan dryga 26% räknas som Not Free. Den sista kolumnen visar den kumulativa procenten, vilket man får fram genom att addera de olika procentkategorierna från toppen till botten. Där kan vi till exempel se att 73,71% av länderna är antingen Free eller Partly Free.

Avslutning

Vilken beskrivande statistik man ska presentera beror, som allt annat, på vilken frågeställning man undersöker. All information som är nödvändig för att tolka resultaten på ett bra sätt ska med, allt onödigt kan lämnas ute.

Ofta är det också informativt att använda olika typer av grafer för att presentera beskrivande statistik, till exempel histogram, som visar fördelningen av en variabel. Det finns beskrivet i egna inlägg.

Kom också ihåg att man alltid kan skriva help kommando för att få en uttömmande beskrivning av allt man kan göra med kommandot.

In [ ]: