ATH-koulutus: R ja survey-kirjasto THL 16.2.2011 16. 2. 2011 ATH-koulutus / Tommi Härkänen 1
Sisältö Otanta-asetelman kuvaaminen R:llä ja survey-kirjastolla Perustunnusluvut Regressioanalyysit 16. 2. 2011 ATH-koulutus / Tommi Härkänen 2
Aineiston lataaminen Luetaan aineisto Stat-formaatissa: library(foreign) d <- read.dta("q:/data/2010/demo/ath_demo.dta") Määritellään uusi luokiteltu ikämuuttuja: d <- cbind(d, rg_age10=cut(d$rg_age_2, c(10*2:10), right=false)) 16. 2. 2011 ATH-koulutus / Tommi Härkänen 3
Otanta-asetelman kuvaaminen Painokerroin w_analysis, ositusmja w_strata, perusjoukon koko ositteessa w_n library(survey) ath.data <- svydesign(id=~1, fpc=~w_n, weights=~w_analysis, strata=~w_strata, data=d) 16. 2. 2011 ATH-koulutus / Tommi Härkänen 4
Analyysit survey-kirjastossa määritellyt, otanta-asetelman huomioivat funktiot alkavat usein svy-etuliitteellä Esim. BMI:n keskiarvo svymean(~ath_bmi, design=ath.data, na.rm=true) Tulostus: mean SE ath_bmi 25.995 0.0548 16. 2. 2011 ATH-koulutus / Tommi Härkänen 5
Keskiarvo osajoukoittain Esim: BMI-keskiarvot sukupuolittain ja alueittain: svyby(~ath_bmi, ~rg_gender+rg_geo_area, design=ath.data, svymean, na.rm=true) Tulostus: rg_gender rg_geo_area ath_bmi se.ath_bmi 1 1 26.78092 0.1143622 2 1 26.27356 0.1163083 1 2 26.28144 0.1208236 2 2 25.64307 0.1248729 1 3 26.41174 0.1337333 2 3 25.27146 0.1175285 16. 2. 2011 ATH-koulutus / Tommi Härkänen 6
Keskiarvo osajoukoittain Osajoukkoanalyysejä voi tehdä myös muodostamalla erillisen osajoukkoaineiston: dsub <- subset(ath.data, rg_gender==1&rg_geo_area==1) svymean(~ath_bmi, design=dsub, na.rm=true) 16. 2. 2011 ATH-koulutus / Tommi Härkänen 7
Luokitellut muuttujat: frekvenssit Kahden luokkamuuttujan frekvenssitaulukko saadaan svytable-komennolla ja vastaava chi2-testi svychisqkomennolla: svytable(~ath_bmi_3+rg_gender, design=ath.data) rg_gender ath_bmi_3 1 2 1 2340.6757 3256.0225 2 2615.4831 1940.2595 3 949.4606 1012.0628 svychisq(~ath_bmi_3+rg_gender, design=ath.data) Pearson's X^2: Rao & Scott adjustment data: svychisq(~ath_bmi_3 + rg_gender, design = ath.data) F = 66.0795, ndf = 1.986, ddf = 24725.555, p-value < 2.2e-16 16. 2. 2011 ATH-koulutus / Tommi Härkänen 8
Luokitellut muuttujat: jakaumat Luokkaesiintyvyydet saa svymean-komennolla: svymean(~interaction(ath_bmi_3,rg_gender), design=ath.data, na.rm=true) Tulostus: mean SE interaction(ath_bmi_3, rg_gender)1.1 0.193221 0.0050 interaction(ath_bmi_3, rg_gender)2.1 0.215906 0.0048 interaction(ath_bmi_3, rg_gender)3.1 0.078377 0.0033 interaction(ath_bmi_3, rg_gender)1.2 0.268783 0.0043 interaction(ath_bmi_3, rg_gender)2.2 0.160167 0.0038 interaction(ath_bmi_3, rg_gender)3.2 0.083545 0.0028 16. 2. 2011 ATH-koulutus / Tommi Härkänen 9
Lineaarinen regressioanalyysi Luokiteltu selittäjä kuvataan käyttämällä factor()-funktiota model1 <- svyglm(ath_bmi~ factor(rg_geo_area)+rg_gender+rg_age_2, design=ath.data) summary(model1) Survey design: svydesign(id = ~1, fpc = ~w_n, weights = ~w_analysis, strata = ~w_strata, data = d) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 25.295633 0.232184 108.947 < 2e-16 *** factor(rg_geo_area)2-0.228194 0.116263-1.963 0.049700 * factor(rg_geo_area)3-0.418549 0.117928-3.549 0.000388 *** rg_gender -0.910973 0.106761-8.533 < 2e-16 *** rg_age_2 0.048871 0.002819 17.336 < 2e-16 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 16. 2. 2011 ATH-koulutus / Tommi Härkänen 10
Lineaarinen regressioanalyysi: Waldin testi Testataan, onko alueiden välillä eroja: regtermtest(model1, ~factor(rg_geo_area)) Wald test for factor(rg_geo_area) in svyglm(ath_bmi ~ factor(rg_geo_area) + rg_gender + rg_age_2, design = ath.data) F = 6.347599 on 2 and 11994 df: p= 0.0017568 16. 2. 2011 ATH-koulutus / Tommi Härkänen 11
Lineaarinen regressioanalyysi Yhdysvaikutus kuvataan :- tai *-merkinnällä. Jälkimmäinen muodostaa myös päävaikutustermit model2 <- svyglm(ath_bmi~factor(rg_geo_area)* rg_gender+factor(rg_geo_area)*rg_gender*rg_age_2, design=ath.data) summary(model2) Survey design: svydesign(id = ~1, fpc = ~w_n, weights = ~w_analysis, strata = ~w_strata, data = d) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 28.984950 0.988965 29.308 < 2e-16 factor(rg_geo_area)2-3.477394 1.261868-2.756 0.005865 factor(rg_geo_area)3-2.229359 1.277344-1.745 0.080957 rg_gender -2.482958 0.602636-4.120 3.81e-05 rg_age_2-0.031057 0.016100-1.929 0.053750 factor(rg_geo_area)2:rg_gender 1.104735 0.788871 1.400 0.161419 factor(rg_geo_area)3:rg_gender 0.332927 0.772705 0.431 0.666579 factor(rg_geo_area)2:rg_age_2 0.065867 0.021557 3.056 0.002252 factor(rg_geo_area)3:rg_age_2 0.051816 0.021611 2.398 0.016514 rg_gender:rg_age_2 0.036382 0.009738 3.736 0.000188 factor(rg_geo_area)2:rg_gender:rg_age_2-0.023380 0.013392-1.746 0.080860 factor(rg_geo_area)3:rg_gender:rg_age_2-0.017964 0.012974-1.385 0.166175 16. 2. 2011 ATH-koulutus / Tommi Härkänen 12
Useamman parametrin testaaminen Testataan, onko interaktioita: regtermtest(model2,~factor(rg_geo_area):rg_gender:rg_age_2) Wald test for factor(rg_geo_area):rg_gender:rg_age_2 F = 1.656819 on 2 and 11987 df: p= 0.19079 regtermtest(model2, ~factor(rg_geo_area):rg_gender:rg_age_2+factor(rg_geo_are a):rg_gender) Wald test for factor(rg_geo_area):rg_gender factor(rg_geo_area):rg_gender:rg_age_2 F = 3.512251 on 4 and 11987 df: p= 0.0071624 16. 2. 2011 ATH-koulutus / Tommi Härkänen 13
Logistinen regressiomalli model3 <- svyglm(ath_bmi_2~factor(rg_geo_area)*rg_gender + factor(rg_geo_area)*rg_gender*rg_age_2, design=ath.data, family="quasibinomial") summary(model3) Survey design: svydesign(id = ~1, fpc = ~w_n, weights = ~w_analysis, strata = ~w_strata, data = d) Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 1.604467 0.459271 3.494 0.000478 factor(rg_geo_area)2-1.503036 0.622999-2.413 0.015855 factor(rg_geo_area)3-1.350128 0.655930-2.058 0.039579 rg_gender -1.342850 0.269030-4.991 6.08e-07 rg_age_2-0.008981 0.007701-1.166 0.243527 factor(rg_geo_area)2:rg_gender 0.648131 0.365955 1.771 0.076575 factor(rg_geo_area)3:rg_gender 0.469564 0.383964 1.223 0.221376 factor(rg_geo_area)2:rg_age_2 0.029648 0.011109 2.669 0.007619 factor(rg_geo_area)3:rg_age_2 0.024839 0.011430 2.173 0.029783 rg_gender:rg_age_2 0.015508 0.004485 3.458 0.000547 factor(rg_geo_area)2:rg_gender:rg_age_2-0.013142 0.006474-2.030 0.042378 factor(rg_geo_area)3:rg_gender:rg_age_2-0.010494 0.006629-1.583 0.113429 16. 2. 2011 ATH-koulutus / Tommi Härkänen 14