#
#
# Ensin ladataan paketit (tehdään vain 1. kerralla!)
# koneessa pitää luonnollisesti olla internet-yhteys
# Tämän voi tehdä myös valikosta (Packages->Load packages from CRAN)
install.packages("survey")
install.packages("foreign")


# Ota ne asennuksen jälkeen käyttöön
# Tämä pitää tehdä jokaisen istunnon alussa

library(survey)
library(foreign)

#
# Aineiston lukeminen sisään
#


# Tässä oletetaan, että aineisto on SPSS formaatissa
# Luetaan uusi aineisto ja annetaan sille nimi tmp

tmp<-read.spss(file="m:/post/muut/t2t/t2tsadR.sav",
use.value.labels = TRUE, to.data.frame = TRUE,
    max.value.labels =500)

# Tarkista muuttujien nimet
names(tmp)

#
# Muodostetaan survey aineisto
# Tässä annetaan informaatio ositteista ym
#
# Tässä unioni painot ovat nimellä "PAINOT.U", muut


t2t.sad.2<-svydesign(weights=~PAINOT.U,strata=~OSITE,
                      ids=~RYVAS,nest=TRUE,data=tmp)

# Aineiston nimeksi siis annettiin "t2t.sad.2"


#
# ALOITA ANALYYSIT TÄSTÄ!
#

# Otetaan data käyttöön
# Otetaan käyttöön survey-paketti

# Muuttujien nimet saat näin
names(t2t.sad.2$variables)

# Keskiarvo
svymean(~IKA2,t2t.sad.2)

# Kvantiilit
svyquantile(~IKA2,t2t.sad.2,quantiles=c(0.25,0.5,0.75))

# Taulukointi
svytable(~KYS3.K19,t2t.sad.2)
svytable(~KYS3.K19+MILJP,t2t.sad.2)
svytable(~KYS3.K19+KYS1.K27,t2t.sad.2)

# Populaatiokohtaiset määrät Oletetaan kohdepopulaation kooksi 3296305)
svytable(~KYS3.K19+MILJP,t2t.sad.2,Ntotal=3296305)

# Pyöristys (0 desimaalia)
round(svytable(~KYS3.K19+MILJP,t2t.sad.2,Ntotal=3296305),0)

#
# MALLITUS
#

# Vasteena on sekä GSS että KYS3.K19
#
# Selittäjinä ovat liikunta (KYS1.K27)
#                                alkoholi (KYS1.K39)
#                                sukupuoli (SP)
#                                ikä (IKA2)
#                                alue (MILJP)
#                                sijainti (XKOORD:YKOORD)
#
# Logistinen regressio

# 2-luokkainen vaste muodostetaan käyttäen ifelse-funktiota ks. tarlemmin help(ifelse)


tmp.malli<-svyglm(ifelse(KYS3.K19>1,1,0)~IKA2+KYS1.K27,design=t2t.sad.2,family=binomial)
summary(tmp.malli)

# Viivallinen malli esim. (virhejakaumana normaalijakauma binomijakauman sijasta)

tmp.malli.1<-svyglm(vaste~IKA2+KYS1.K27,design=t2t.sad.2,family=gaussian)

 

Jari Haukka