Ero sivun ”Radonin terveysvaikutukset” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Laskenta: koodi laskee mutta tulos painottuu väärin. Miksi?)
(→‎Laskenta: ehkä laskee oikein. Pitää varmistaa)
Rivi 80: Rivi 80:
*[http://www.cookbook-r.com/Graphs/Axes_%28ggplot2%29/ Axis formatting] (e.g. log2 format)
*[http://www.cookbook-r.com/Graphs/Axes_%28ggplot2%29/ Axis formatting] (e.g. log2 format)
* vaikutusrr poistettu kokonaan toistaiseksi, koska se ei toimi. Löytyy [http://fi.opasnet.org/fi_wiki/index.php?title=Radonin_terveysvaikutukset&oldid=21810 vanhasta versiosta].
* vaikutusrr poistettu kokonaan toistaiseksi, koska se ei toimi. Löytyy [http://fi.opasnet.org/fi_wiki/index.php?title=Radonin_terveysvaikutukset&oldid=21810 vanhasta versiosta].
* [http://fi.opasnet.org/fi_wiki/index.php?title=Toiminnot:RTools&id=ZwJAb7oPkq9jc74V Tolkullinen versio]


<rcode graphics=1 embed=0 variables="
<rcode graphics=1 embed=0 variables="
Rivi 208: Rivi 209:


tausta.altistus <- 0 # Radonille voisi olla 5.
tausta.altistus <- 0 # Radonille voisi olla 5.
#RR <- Ovariable("RR",
# dependencies = data.frame(Name = c("ERF", "altistus", "tausta.altistus")),
# formula = function(...) {
#
# out <- exp(log(ERF) * (altistus - tausta.altistus)) # Relative risk given the exposures
#
# out <- unkeep(oapply(out, cols = "Altiste", FUN = prod), sources = TRUE)
#
# return(out)
# }
#)


### SYÖPÄKUOLLEISUUS
### SYÖPÄKUOLLEISUUS
Rivi 241: Rivi 230:


# Tässä on tarkoituksena jakaa tautiriski keisien lukumäärinä väestössä niin pieniin osiin kuin se on mahdollista ilman altistustietoa.
# Tässä on tarkoituksena jakaa tautiriski keisien lukumäärinä väestössä niin pieniin osiin kuin se on mahdollista ilman altistustietoa.
väestö <- unkeep(EvalOutput(väestö), sources = TRUE, prevresults = TRUE) # cols = c("Kunta", "Maakunta"),
syopakuolleisuus <- unkeep(EvalOutput(syopakuolleisuus), sources = TRUE, prevresults = TRUE)
takeout <- setdiff(colnames(väestö@output)[väestö@marginal], colnames(syopakuolleisuus@output)[syopakuolleisuus@marginal]) # Väestön ne indeksit, jotka EIVÄT OLE tautiriskissä.
takeout <- setdiff(colnames(väestö@output)[väestö@marginal], colnames(syopakuolleisuus@output)[syopakuolleisuus@marginal]) # Väestön ne indeksit, jotka EIVÄT OLE tautiriskissä.
väestö <- EvalOutput(väestö)
#takeout <- c("Tupakoija", "Talotyyppi")
väestö@output <- dropall(väestö@output)
väestö@output <- dropall(väestö@output)
väestöb <- oapply(väestö, cols = takeout, FUN = sum) # Summaa väestö niin että vain tautiriskin indeksit jäävät.
väestöb <- oapply(väestö, cols = takeout, FUN = sum) # Summaa väestö niin että vain tautiriskin indeksit jäävät.
väestöb@output <- väestöb@output[!is.na(result(väestöb)) , ]
oprint(head(väestöb@output))
oprint(head(väestöb@output))
väestöb@output <- väestöb@output[!is.na(result(väestöb)) , ]
keisitb <- syopakuolleisuus * väestöb # Keisien kokonaismäärä tautiriskin määräämissä soluissa.
keisit <- syopakuolleisuus * väestöb # Keisien kokonaismäärä tautiriskin määräämissä soluissa.


oprint(head(keisit@output))
oprint(head(keisitb@output))
ERF <- EvalOutput(ERF)
ERF <- EvalOutput(ERF)
altistus <- EvalOutput(altistus)
altistus <- EvalOutput(altistus)
Rivi 258: Rivi 249:


# pci sisältää solukohtaiset altistutiedot ja niiden aiheuttaman lisäriskin. Niinpä yleisemmän tason keisimäärät voidaan pilkkoa pienempiin osiin.
# pci sisältää solukohtaiset altistutiedot ja niiden aiheuttaman lisäriskin. Niinpä yleisemmän tason keisimäärät voidaan pilkkoa pienempiin osiin.
# Ensin on poistettava turhat indeksit: Kunta on turha, koska tautiriski on vain maakunnan tarkkuudella.  
# Ensin on poistettava turhat indeksit: Maakunta on turha, koska Kunta on annettu.
# Sairaanhoitopiiri puolestaan ei sisällä mainittavaa lisätietoa vaan vain hämmentää laskentaa.
# Sen sijaan Sairaanhoitopiiri tarvitaan linkkaamaan tieto keisitb:hen.
pci <- unkeep(väestö * RR, cols = c("Kunta", "Sairaanhoitopiiri"), prevresults = TRUE, sources = TRUE) # [[Population attributable fraction]]
pci <- unkeep(väestö * RR, prevresults = TRUE, sources = TRUE) # [[Population attributable fraction]]


# Sitten pilkotaan yli niiden indeksien, jotka vaikuttavat keisien sijoittumiseen alaryhmiin ja joita ei vielä  
# Sitten pilkotaan yli niiden indeksien, jotka vaikuttavat keisien sijoittumiseen alaryhmiin ja joita ei vielä  
# huomioida tautiriskissä. Näitä ovat Tupakoija ja Talotyyppi eli näissä keisit eivät jakaudu väestön suhteessa.
# huomioida tautiriskissä. Näitä ovat Tupakoija ja Talotyyppi eli näissä keisit eivät jakaudu väestön suhteessa.
pci <- pci / oapply(pci, cols = c("Tupakoija", "Talotyyppi"), FUN = sum)
pci <- pci / oapply(pci, cols = c(takeout, "Altiste"), FUN = sum) #INDEX = pci@output[c("Tupakoija", "Talotyyppi", "Altiste")], FUN = sum)


keisit <- keisit * pci # tautiriskin keisit pitää jakaa kaikkiin niihin ryhmiin, joissa tätä tietoa ei vielä ole eli takeoutin määrittämiin ryhmiin.
keisit <- keisitb * pci # tautiriskin keisit pitää jakaa kaikkiin niihin ryhmiin, joissa tätä tietoa ei vielä ole eli takeoutin määrittämiin ryhmiin.


out <- Ovariable("out",  
out <- Ovariable("out",  
Rivi 318: Rivi 309:


oprint(head(out@output))
oprint(head(out@output))
ggplot(out@output, aes(weight = outResult / N, x = Causes, fill = Talotyyppi)) +
geom_bar(position = 'dodge')
ggplot(out@output, aes(weight = outResult / N, x = Causes, fill = Tupakoija)) +
geom_bar(position = 'dodge')
ggplot(out@output, aes(weight = outResult / N, x = Causes, fill = Maakunta)) +
geom_bar(position = 'stack')


if(verbose) {
if(verbose) {
Rivi 355: Rivi 355:
oprint(head(vaikutuspaf@output))
oprint(head(vaikutuspaf@output))
}
}
ggplot(out@output, aes(weight = outResult / N, x = Causes, fill = Talotyyppi)) +
geom_bar(position = 'dodge')


ograph(RR, x = erottelu1, fill =  erottelu2, title = 'Suhteellinen yksilöriski altistumattomaan verrattuna') + coord_trans(y = 'log2')
ograph(RR, x = erottelu1, fill =  erottelu2, title = 'Suhteellinen yksilöriski altistumattomaan verrattuna') + coord_trans(y = 'log2')

Versio 27. huhtikuuta 2014 kello 20.04





Kysymys

Mitkä ovat radonin terveysvaikutukset Suomessa? Erityisesti pitäisi tarkastella näitä kysymyksiä:

  • Mikä on radonin kokonaistautitaakka?
  • Kuinka suuri on radonin ja tupakan yhteisvaikutus?
    • Onko kyseessä riippumaton, additiivinen, multiplikatiivinen tai yhteisvaikutus, ja mitä nämä tarkoittavat?
  • Miten radonin tautitaakka jakautuu erilaisissa asunnoissa asuvien kesken (esim. yli tai alle 300 Bq/m3)?
  • Mitä eri toimenpiteitä olisi mahdollista tehdä radonin tautitaakan pienentämiseksi?
    • Mitä muita vaikutuksia näillä toimepiteillä on (kustannukset, kiellot, elämäntapamuutokset, terveyssynergiat?)
  • Mitkä arvoarvostelmat määräävät sitä, mitkä toimepidevaihtoehdoista näyttäytyvät suositeltavina?

Vastaus

Radonin kokonaistautitaakka näyttäisi olevan 1973 DALY /vuosi (ks. Tautitaakka Suomessa ja SETURI/TEKAISU: Sisäilman radonin tautitapausmäärä ja tautitaakka arviot

Kuinka suuri on radonin ja tupakan yhteisvaikutus?

  • Riippumaton: BoD = Tr + Tt - T(r ja t)
  • Additiivinen: BoD = BG * RRr * RRt
  • Multiplikatiivinen: BoD > BG * RRr * RRt
  • Yhteisvaikutus: jotain muuta vai mikä tahansa noista?

Jossa

  • BoD: burden of disease eli tautitaakka
  • T: tapausmäärä (ilmoitettuna DALYina)
  • r: radon
  • t: tupakka
  • BG: taustariski

Ne asunnot, joissa radonpitoisuus on yli 300 Bq/m3, johtavat arviolta 65-80 keuhkosyöpätapaukseen vuodessa. Näistä pelkän radonin aiheuttamia on noin kymmenen tapausta (loput: radon + tupakka). Tämän verran siis vähenisivät tapaukset , jos kaikki 300 Bq/m3 ylitykset korjattaisiin tasolle 0 Bq/m3.

Jos yli 300 Bq/m3 radonpitoisuudet korjataan tasolle 300 Bq/m3, vähenevät keuhkosyöpätapaukset noin 25-40 tapauksella vuodessa (näistä 3- 5 keuhkosyöpää on pelkän radonin aiheuttamaa).

Arvioinnissa on otettu huomioon 300 Bq/m3 ylittävän väestön altistusarvion epätarkkuus 95% luottamusvälillä (10%). Kaikkien radonin (tai radon+tupakka) aiheuttamien keuhkosyöpien määrä, 300 kpl vuodessa, on oletettu tässä arvioinnissa tarkaksi, vaikka vaihteluväli onkin 100 – 600 tapausta. Eli näihin lukuihin täytyy suhtautua lähinnä suuntaa antavina.R↻

Toimenpiteitä radonin tautitaakan pienentämiseksi?

  • Radontuuletus kaikkiin uusiin rakennuksiin.
  • Radontuuletusvalmius kaikkiin uusiin rakennuksiin, tuuletus vain jos mittaus osoittaa korkeita pitoisuuksia.
  • Radontuuletus myös vanhoihin rakennuksiin.
  • Tupakointikielto.
  • Kansalaistiedotus.
  • Radonmittausten kannustaminen tiedolla tai rahallisella tuella.
  • Edellä mainittujen toimien kohdistaminen vain tupakoiviin.
  • Edellä mainittujen toimien kohdistaminen vain radonalueille.

Radontoimepiteiden muita kuin terveysvaikutuksia:

  • Kustannukset.
  • Kiellot ja itsemääräämisoikeus.
  • Elämäntapamuutokset.
  • Vaikutusten kohdistuminen erilaisena kansalaiseen, lähimmäiseen tai yhteiskuntaan.

Arvoarvostelmia:

  • Tautitaakkaa on pienennettävä.
  • Tautitaakkaa on pienennettävä kaikilla toimilla, jotka ovat halvempia kuin 10000 € / DALY (tai jokin muu raja).
  • Kansalaisten itsemääräämisoikeuteen ei saa puuttua.
  • Kansalaisia ja erityisesti lapsia on suojeltava altisteilta, jonka määrään ei voi itse vaikuttaa.

Näkökulmia radonhaitan torjuntaan

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?

Laskenta

N:

Minkä tekijän mukaan haluat erotella terveysvasteen (x-akseli)?:

Minkä toisen tekijän mukaan haluat erotella terveysvasteen (väri)?:

Haluatko nähdä välivaiheet?:

+ Näytä koodi

Riippuvuudet

Katso myös

Viitteet


Aiheeseen liittyviä tiedostoja

<mfanonymousfilelist></mfanonymousfilelist>