Ero sivun ”Radonin terveysvaikutukset” versioiden välillä
p (→Laskenta) |
(→Laskenta: koodi laskee mutta tulos painottuu väärin. Miksi?) |
||
Rivi 102: | Rivi 102: | ||
N <- 1 | N <- 1 | ||
erottelu1 <- 'Maakunta' | erottelu1 <- 'Maakunta' | ||
erottelu2 <- ' | erottelu2 <- 'Causes' | ||
verbose <- FALSE | verbose <- FALSE | ||
Rivi 110: | Rivi 110: | ||
openv.setN(N) | openv.setN(N) | ||
objects.latest('Op_en6007', code_name = 'answer') # [[OpasnetUtils/Drafts]] fetches fillna | objects.latest('Op_en6007', code_name = 'answer') # [[OpasnetUtils/Drafts]] fetches fillna function. | ||
###### OSA 1: VÄESTÖ | ###### OSA 1: VÄESTÖ | ||
Rivi 237: | Rivi 237: | ||
#vaestoosuus <- 1 | #vaestoosuus <- 1 | ||
temp3 <- unkeep(väestö, cols = c("Maakunta", "Sairaanhoitopiiri"), sources = TRUE, prevresults = TRUE) | #temp3 <- unkeep(väestö, cols = c("Maakunta", "Sairaanhoitopiiri"), sources = TRUE, prevresults = TRUE) | ||
vaestoosuus <- temp3 / sum(result(temp3 * 1)) | #vaestoosuus <- temp3 / sum(result(temp3 * 1)) | ||
# | # Tässä on tarkoituksena jakaa tautiriski keisien lukumäärinä väestössä niin pieniin osiin kuin se on mahdollista ilman altistustietoa. | ||
# | 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ö) | |||
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. | |||
# | oprint(head(väestöb@output)) | ||
# | väestöb@output <- väestöb@output[!is.na(result(väestöb)) , ] | ||
keisit <- syopakuolleisuus * väestöb # Keisien kokonaismäärä tautiriskin määräämissä soluissa. | |||
oprint(head(keisit@output)) | |||
# | ERF <- EvalOutput(ERF) | ||
altistus <- EvalOutput(altistus) | |||
RR <- unkeep(exp(log(ERF) * (altistus - tausta.altistus)), prevresults = TRUE, sources = TRUE) | |||
oprint(head(RR@output)) | |||
# 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. | |||
# Sairaanhoitopiiri puolestaan ei sisällä mainittavaa lisätietoa vaan vain hämmentää laskentaa. | |||
pci <- unkeep(väestö * RR, cols = c("Kunta", "Sairaanhoitopiiri"), prevresults = TRUE, sources = TRUE) # [[Population attributable fraction]] | |||
# | # 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. | |||
pci <- pci / oapply(pci, cols = c("Tupakoija", "Talotyyppi"), 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. | |||
# | |||
out <- Ovariable("out", | out <- Ovariable("out", | ||
dependencies = data.frame(Name = c("ERF", "altistus", "väestö")), | dependencies = data.frame(Name = c("ERF", "altistus", "tausta.altistus", "väestö", "keisit")), | ||
formula = function(...) { | formula = function(...) { | ||
# Aluksi laske RR ja poista turhat (kun ovariablea operoidaan itsensä kanssa, ylimääräiset sarakkeet aiheuttavat harmia) | |||
PAF <- ( | RR <- unkeep(exp(log(ERF) * (altistus - tausta.altistus)), prevresults = TRUE, sources = TRUE) | ||
PAF <- (RR - 1) / RR | |||
altisteet <- unique(altistus@output$Altiste) | altisteet <- unique(altistus@output$Altiste) | ||
Rivi 281: | Rivi 284: | ||
# Yksittäisen altisteen attributable fraction yhdistetään kaikkien altisteiden yhteis-PAFiin, johon tulee | # Yksittäisen altisteen attributable fraction yhdistetään kaikkien altisteiden yhteis-PAFiin, johon tulee | ||
# 2^n riviä (n = altisteiden lukumäärä). Altiste on joko - | # 2^n riviä (n = altisteiden lukumäärä). Altiste on joko + tai - riippuen aiheuttiko se havaitun taudin vai ei. | ||
temp <- Ovariable(data = data.frame( | temp <- Ovariable(data = data.frame( | ||
Altiste = altisteet[i], | Altiste = altisteet[i], | ||
Temp1 = c(paste(altisteet[i], "-", sep = ""), paste(altisteet[i], "+", sep = "")), | |||
Result = c(-1, 1) # Altisteen | Result = c(-1, 1) # Altisteen syyttömyyttä merkataan tilapäisesti negatiivisella luvulla. | ||
)) | )) | ||
temp <- temp * PAF | temp <- temp * PAF | ||
# Syyttömät eli negatiiviset altisteet saavat loput (1-p) selitysosuudesta p. | |||
result(temp) <- ifelse(result(temp) > 0, result(temp), 1 + result(temp)) | result(temp) <- ifelse(result(temp) > 0, result(temp), 1 + result(temp)) | ||
result(temp) <- ifelse(result(temp) == 1 & grepl("\\+", temp@output$ | # Syyllisen osuus 0 merkkautuu ykköseksi. Täytyy korjata. | ||
result(temp) <- ifelse(result(temp) == 1 & grepl("\\+", temp@output$Temp1), 0, result(temp)) | |||
# temp <- unkeep(temp, prevresults = TRUE, sources = TRUE) | |||
out <- out * temp | out <- out * temp | ||
out <- unkeep(out, cols = "Altiste", sources = TRUE, prevresults = TRUE) | out <- unkeep(out, cols = "Altiste", sources = TRUE, prevresults = TRUE) | ||
if(i == 1) { | if(i == 1) { | ||
colnames(out@output)[colnames(out@output) == " | colnames(out@output)[colnames(out@output) == "Temp1"] <- "Causes" | ||
} else { | } else { | ||
out@output$ | out@output$Causes <- paste(out@output$Causes, out@output$Temp1) | ||
out@output$ | out@output$Temp1 <- NULL | ||
} | } | ||
} | } | ||
out <- keisit * out | |||
return(out) | return(out) | ||
Rivi 348: | Rivi 356: | ||
} | } | ||
ggplot(out@output, aes(weight = outResult / N, x = Causes, fill = Talotyyppi)) + | |||
ggplot(out@output, aes(weight = outResult / N, x = | |||
geom_bar(position = 'dodge') | geom_bar(position = 'dodge') | ||
Versio 27. huhtikuuta 2014 kello 18.13
Moderaattori:Jouni (katso kaikki)
Sivun edistymistä ei ole arvioitu. Arvostuksen määrää ei ole arvioitu (ks. peer review). |
Lisää dataa
|
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
- Axis formatting (e.g. log2 format)
- vaikutusrr poistettu kokonaan toistaiseksi, koska se ei toimi. Löytyy vanhasta versiosta.
Riippuvuudet
- Talotyypit Suomessa
- Suomen kunnat
- Radon sisäilmassa
- 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ä.)
- Syöpäkuolleisuus Suomessa
- en:Attributable risk#Combined_PAR
- op_en:Population attributable fraction
- op_en:OpasnetUtils/Drafts
Katso myös
- op_en:File:Cost effectiveness and health benefits of radon control strategies.pdf
- Radonin terveysvaikutukset Euroopassa
- op_en:Health impacts of radon in Europe
- heande:Radon sisäilma altistus Suomi
- op_en:Radon
- Suomen kunnat
- Radon sisäilmassa
- Talotyypit Suomessa
- STUK:n radonsivusto
- RADPAR project: radon prevention and remediation
- SETURI/TEKAISU: Ympäristön tupakansavun tautitapausmäärä ja tautitaakka arviot
- SETURI/TEKAISU: Sisäilman radonin tautitapausmäärä ja tautitaakka arviot
- op_en:Health impact assessment
Viitteet
Aiheeseen liittyviä tiedostoja
<mfanonymousfilelist></mfanonymousfilelist>