Ero sivun ”Radonin terveysvaikutukset” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
Rivi 118: Rivi 118:
altistus <- EvalOutput(Ovariable("altistus", data = altistus), N = N)
altistus <- EvalOutput(Ovariable("altistus", data = altistus), N = N)


temp <- fillna(altistus@output, c("Tupakka", "Maakunta", "Talotyyppi"))
altistus@output <- fillna(altistus@output, c("Tupakka", "Maakunta", "Talotyyppi"))
colnames(temp)[colnames(temp) == "altistusResult"] <- "Result"
#colnames(temp)[colnames(temp) == "altistusResult"] <- "Result"
temp <- EvalOutput(Ovariable("temp", data = temp))
#temp <- EvalOutput(Ovariable("temp", data = temp))
 
######## Syöpäkuolleisuus
 
objects.latest('Op_fi3912', code_name = 'alusta') # [[Syöpäkuolleisuus Suomessa]], ovariable syopakuolleisuus.
 
syopakuolleisuus@data <- syopakuolleisuus@data[syopakuolleisuus@data$Primaaripaikka == "Keuhkot, henkitorvi" , ] # ICD.10.koodi == "C33-34"
 
syopakuolleisuus <- EvalOutput(syopakuolleisuus, N = N)
 
####### Relative risk


ERF <- EvalOutput(Ovariable("ERF", data = data.frame(Altiste = c("Radon", "Tupakka"), Result = c(1.006, 20))), N = N)
ERF <- EvalOutput(Ovariable("ERF", data = data.frame(Altiste = c("Radon", "Tupakka"), Result = c(1.006, 20))), N = N)
Rivi 126: Rivi 136:
tausta.altistus <- 0 # Radonille voisi olla 5.
tausta.altistus <- 0 # Radonille voisi olla 5.


RR <- exp(log(ERF) * (altistus - tausta.altistus))
RR <- exp(log(ERF) * (altistus - tausta.altistus)) # Relative risk given the exposures


kokRR <- exp(log(ERF) * (temp - tausta.altistus))
####### taustariski
kokRR <- collapsemarg(kokRR, c("Maakunta", "Iter", "Tupakka", "Talotyyppi"), prod)


riski <- kokRR * väestö
# Calculate subgroup-specific background risks by first calculating a temporary burden estimate.
riski <- collapsemarg(riski, c("Sairaanhoitopiiri", "Sukupuoli"), sum)
# temp is a population-weighted sum of relative risks. The actual disease risk is divided by this value and then multiplied
# by the subgroup-specific relative risk. In this way, the total burden of all subgroups equals to what is actually seen.


tausta <- syopakuolleisuus / riski
kokonaisvaikutus <- syopakuolleisuus * väestö


temp <- collapsemarg(RR, c("Maakunta", "Iter", "Tupakka", "Talotyyppi"), prod)
temp <- temp * väestö
temp <- temp / collapsemarg(temp, c("Sairaanhoitopiiri", "Sukupuoli", "Iter"), sum)
tausta <- kokonaisvaikutus * temp


########### PAF
########### PAF


väestöosuus <- 1
väestöosuus <- 1
RR <- exp(log(ERF) * (altistus - tausta.altistus))


PAF <- väestöosuus * (RR - 1) / (väestöosuus * (RR - 1) + 1)
PAF <- väestöosuus * (RR - 1) / (väestöosuus * (RR - 1) + 1)
PAF@output <- fillna(PAF@output, c("Tupakka", "Talotyyppi", "Maakunta"))
#PAF@output <- fillna(PAF@output, c("Tupakka", "Talotyyppi", "Maakunta"))


######### vaikutus
######### vaikutus


objects.latest('Op_fi3912', code_name = 'alusta') # [[Syöpäkuolleisuus Suomessa]], ovariable syopakuolleisuus.
vaikutus <- väestö * syopakuolleisuus * PAF
 
syopakuolleisuus@data <- syopakuolleisuus@data[syopakuolleisuus@data$Primaaripaikka == "Keuhkot, henkitorvi" , ] # ICD.10.koodi == "C33-34"
 
syopakuolleisuus <- EvalOutput(syopakuolleisuus, N = N)
 
vaikutus <- väestö * syopakuolleisuus / 100000 * PAF


vaikutus@output <- vaikutus@output[!is.na(vaikutus@output$Result) , ]
vaikutus@output <- vaikutus@output[!is.na(vaikutus@output$Result) , ]


####### BOD
vaikutusrr <- väestö * tausta * RR
 
bod <- 1 - PAF
bod@output <- dropall(bod@output)
temp <- as.data.frame(as.table(tapply(result(bod), bod@output[c("Maakunta", "Iter", "Tupakka", "Talotyyppi")], prod)))
colnames(temp)[colnames(temp) == "Freq"] <- "Result"
 
bod <- EvalOutput(Ovariable("bod", data = temp))


ggplot(asukkaat@output, aes(x = asukkaatResult)) + geom_density()
ggplot(asukkaat@output, aes(x = asukkaatResult)) + geom_density()
Rivi 170: Rivi 173:
ggplot(vaikutus@output, aes(weight = vaikutusResult, fill = Altiste)) + geom_bar()
ggplot(vaikutus@output, aes(weight = vaikutusResult, fill = Altiste)) + geom_bar()
ggplot(vaikutus@output, aes(weight = Result, x = Altiste)) + geom_bar()
ggplot(vaikutus@output, aes(weight = Result, x = Altiste)) + geom_bar()
ggplot(vaikutusrr@output, aes(weight = Result, x = Altiste)) + geom_bar()





Versio 16. marraskuuta 2013 kello 20.39





Kysymys

Mitkä ovat radonin terveysvaikutukset Suomessa?

Vastaus

Perustelut

Vastaus on alustava, ja malli pitäisi tarkistaa ennen kuin vankkoja päätelmiä tehdään. Kehityskohteita:

  • Maakuntien ja kuntien yhdistäminen pitäisi tehdä jotenkin älykkäästi skräpätystä datasta eikä tässä koodissa.
  • Itä-Uudenmaan kunnat voisi korjata näin: out$Kunta[out$Kunta %in% c("Mäntsälä", "Pornainen", "Porvoo", "etc", "", "", "")] <- "Itä-Uusimaa"
  • Radonpitoisuudet pitää sämplätä maakunnittain, ei kunnittain kuten nyt. Pienillä ännän arvoilla tulee isoja eroja kuntien välille, mutta se on pelkkää harhaa.
  • Epävarmuudet voiti ottaa myös annosvasteisiin.
  • Pitoisuusjakaumat voisi toteuttaa oikeasti jakaumina olettaen esim. lognormaalijakauman epävarmoilla parametreilla joka maakuntaan. Nyt kuvaajiin tulee harhaisia piikkejä. Jos olisi alkuperäisdata, niin voisi tehdä pikku Bayes-mallin.
  • Kartan piirtäminen ja muutamat muut jutut voisi tehdä funktioiksi ja pistää jollekin järkevälle sivulle, josta ne inkludeerataan tähän.
  • Miksi yksikköriski näyttää tosi isolta, mutta kun summataan yli koko väestön, talo*tupakointikohtaiset luvut näyttävät tosi pieniltä.
  • Pitäisi katsoa, onko puuttuvia arvoja, jotka mergatessa slaissaavat dataa pois.
  • Satunnaistaminen pitäisi tehdä sellaisissa vaiheissa, että se olisi nopeaa.
  • Miten pitäisi käsitellä asuntojen radonpitoisuuksien vaihtelu vs. epävarmuus syöpäriskistä? Meneekö 2DMC liian raskaaksi ja onko siitä vastaavaa hyötyä? Voiko saman toteuttaa 1DMC:na siten, että haluttu epävarmuus käsitellään vaihteluna eri tavalla kuin muut?

Kaava

n:

talo:

tupakka:

vaste:

+ Näytä koodi

  • Päivittäin tupakoivien osuus Suomessa: Tupakoivat [1]
  • Tupakan annosvaste: UK: päivittäin tupakoivia 22 % Miehet, 20 % Naiset. Tämä aiheuttaa 88 % ja 84 % keuhkosyövistä vastaavasti. [2] Tämän perusteella voidaan laskea riskisuhde RR = AF / (EF(RR-1)+1), missä AF on attributable fraction eli altisteen aiheuttama osuus koko tautikuormasta ja EF on altistuneiden osuus koko väestöstä. Tämän perusteella päivittäisen tupakoinnin riskisuhteeksi keuhkosyövälle saadaan 20 - 30. (Laskennassa käytetään 20:tä.)
Maakunnat ja sairaanhoitopiirit(-)
ObsMaakuntaSairaanhoitopiiri
1AhvenanmaaÅland
2Etelä-KarjalaEtelä-Karjala
3Etelä-PohjanmaaEtelä-Pohjanmaa
4Etelä-SavoEtelä-Savo
5UusimaaHelsinki ja Uusimaa
6Itä-Uusimaa
7Itä-Savo
8KainuuKainuu
9Kanta-HämeKanta-Häme
10Keski-PohjanmaaKeski-Pohjanmaa
11Keski-SuomiKeski-Suomi
12Koko maa
13KymenlaaksoKymenlaakso
14Länsi-Pohja
15LappiLappi
16Päijät-HämePäijät-Häme
17PirkanmaaPirkanmaa
18Pohjanmaa
19Pohjois-KarjalaPohjois-Karjala
20Pohjois-PohjanmaaPohjois-Pohjanmaa
21Pohjois-SavoPohjois-Savo
22SatakuntaSatakunta
23Vaasa
24Varsinais-SuomiVarsinais-Suomi
25Yhteensä

Katso myös

Viitteet


Aiheeseen liittyviä tiedostoja

<mfanonymousfilelist></mfanonymousfilelist>