Ero sivun ”Radonin terveysvaikutukset” versioiden välillä
Siirry navigaatioon
Siirry hakuun
(→Kaava: malli alkaa olla harjakorkeudessa mutta bugeja on) |
(→Kaava) |
||
Rivi 42: | Rivi 42: | ||
library(OpasnetUtils) | library(OpasnetUtils) | ||
library(ggplot2) | library(ggplot2) | ||
collapsemarg <- function(object, marginals, fun = sum) { | |||
object@output <- dropall(object@output) | |||
temp <- as.data.frame(as.table(tapply(result(object), object@output[marginals], fun))) | |||
colnames(temp)[colnames(temp) == "Freq"] <- "Result" | |||
out <- EvalOutput(Ovariable(object@name, data = temp)) | |||
return(out) | |||
} | |||
objects.latest('Op_en6007', code_name = 'answer') # [[OpasnetUtils/Drafts]] fetches fillna function. | objects.latest('Op_en6007', code_name = 'answer') # [[OpasnetUtils/Drafts]] fetches fillna function. | ||
N <- 2 | N <- 2 | ||
###### VÄESTÖ | |||
objects.latest('Op_fi3907', code_name = 'alusta') # [[Suomen kunnat]], ovariable kunnat. | objects.latest('Op_fi3907', code_name = 'alusta') # [[Suomen kunnat]], ovariable kunnat. | ||
objects.latest('Op_fi2761', code_name = 'alusta') # [[Talotyypit Suomessa]], ovariable talot. | objects.latest('Op_fi2761', code_name = 'alusta') # [[Talotyypit Suomessa]], ovariable talot. | ||
# Summaa taloista pois perhekoko ja muodosta uusi ovariable asukkaat. | # Summaa taloista pois perhekoko ja muodosta uusi ovariable asukkaat. | ||
talot@output <- talot@output[talot@output$Kunta == "Akaa" , ] ########### POISTA TÄMÄ | |||
levels(talot@output$Talotyyppi) <- ifelse( | levels(talot@output$Talotyyppi) <- ifelse( | ||
Rivi 63: | Rivi 71: | ||
) | ) | ||
talot@output <- dropall(talot@output) | talot@output <- dropall(talot@output) | ||
talot <- collapsemarg(talot, c("Kunta", "Talotyyppi"), sum) | |||
#colnames(dat)[colnames(dat) == "Freq"] <- "Result" | |||
#asukkaat <- EvalOutput(Ovariable("asukkaat", data = dat), N = N) | |||
kunnat <- EvalOutput(kunnat, N = N) | kunnat <- EvalOutput(kunnat, N = N) | ||
tupakointi <- EvalOutput(Ovariable("tupakointi", # Tupakoivien osuus väestöstä. Result-sarake summautuu ykköseen. | tupakointi <- EvalOutput(Ovariable("tupakointi", # Tupakoivien osuus väestöstä. Result-sarake summautuu ykköseen. | ||
Rivi 81: | Rivi 86: | ||
), N = N) | ), N = N) | ||
aluevastaavuus <- EvalOutput(Ovariable("aluevastaavuus", | |||
data = { | |||
dat <- tidy(opbase.data("Op_fi2760.maakunnat_ja_sairaanhoitopiirit")) | |||
colnames(dat)[colnames(dat) == "Result"] <- "Sairaanhoitopiiri" | |||
dat$Result <- 1 | |||
dat | |||
} | |||
)) | |||
väestö <- kunnat * talot * aluevastaavuus * tupakointi | |||
###### altistus | |||
objects.latest('Op_fi2759', code_name = 'alusta') # [[Radon sisäilmassa]], ovariable radonpit, data.frame radon. | |||
radonpit <- EvalOutput(radonpit, N = N) | |||
radonpit@output <- radonpit@output[radonpit@output$Maakunta == "Pirkanmaa" , ] ############# POISTA TÄMÄ | |||
tupakkaaltistus <- EvalOutput(Ovariable("tupakkaaltistus", | |||
data = data.frame(Tupakka = c("Kyllä", "Ei"), Result = c(1, 0)) | |||
), N = N) | |||
Rivi 99: | Rivi 115: | ||
radonpit * EvalOutput(Ovariable(data = data.frame(Altiste = "Radon", Result = 1)), N = N) | radonpit * EvalOutput(Ovariable(data = data.frame(Altiste = "Radon", Result = 1)), N = N) | ||
) | ) | ||
altistus <- EvalOutput(Ovariable("altistus", data = altistus), N = N) | altistus <- EvalOutput(Ovariable("altistus", data = altistus), N = N) | ||
temp <- fillna(altistus@output, c("Tupakka", "Maakunta", "Talotyyppi")) | |||
colnames(temp)[colnames(temp) == "altistusResult"] <- "Result" | |||
temp <- EvalOutput(Ovariable("temp", data = temp)) | |||
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 108: | Rivi 127: | ||
RR <- exp(log(ERF) * (altistus - tausta.altistus)) | RR <- exp(log(ERF) * (altistus - tausta.altistus)) | ||
kokRR <- exp(log(ERF) * (temp - tausta.altistus)) | |||
kokRR <- collapsemarg(kokRR, c("Maakunta", "Iter", "Tupakka", "Talotyyppi"), prod) | |||
riski <- kokRR * väestö | |||
riski <- collapsemarg(riski, c("Sairaanhoitopiiri", "Sukupuoli"), sum) | |||
tausta <- syopakuolleisuus / riski | |||
########### PAF | |||
väestöosuus <- 1 | väestöosuus <- 1 | ||
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")) | PAF@output <- fillna(PAF@output, c("Tupakka", "Talotyyppi", "Maakunta")) | ||
######### vaikutus | |||
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) | |||
vaikutus <- väestö * syopakuolleisuus / 100000 * PAF | |||
vaikutus@output <- vaikutus@output[!is.na(vaikutus@output$Result) , ] | |||
####### BOD | |||
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 124: | Rivi 171: | ||
ggplot(vaikutus@output, aes(weight = Result, x = Altiste)) + geom_bar() | ggplot(vaikutus@output, aes(weight = Result, x = Altiste)) + geom_bar() | ||
print("Yksikköriski: tapauksia tuhatta asukasta kohti vuodessa") | print("Yksikköriski: tapauksia tuhatta asukasta kohti vuodessa") | ||
Rivi 229: | Rivi 267: | ||
* Tupakan annosvaste: UK: päivittäin tupakoivia 22 % Miehet, 20 % Naiset. Tämä aiheuttaa 88 % ja 84 % keuhkosyövistä vastaavasti. [http://info.cancerresearchuk.org/cancerstats/causes/lifestyle/tobacco/] 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ä.) | * Tupakan annosvaste: UK: päivittäin tupakoivia 22 % Miehet, 20 % Naiset. Tämä aiheuttaa 88 % ja 84 % keuhkosyövistä vastaavasti. [http://info.cancerresearchuk.org/cancerstats/causes/lifestyle/tobacco/] 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]] | * [[Syöpäkuolleisuus Suomessa]] | ||
* [[:en:Attributable risk#Combined_PAR]] | |||
<t2b name="Maakunnat ja sairaanhoitopiirit" index="Maakunta" obs="Sairaanhoitopiiri" unit="-"> | <t2b name="Maakunnat ja sairaanhoitopiirit" index="Maakunta" obs="Sairaanhoitopiiri" unit="-"> |
Versio 16. marraskuuta 2013 kello 17.03
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?
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
- 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ä.)
Obs | Maakunta | Sairaanhoitopiiri |
---|---|---|
1 | Ahvenanmaa | Åland |
2 | Etelä-Karjala | Etelä-Karjala |
3 | Etelä-Pohjanmaa | Etelä-Pohjanmaa |
4 | Etelä-Savo | Etelä-Savo |
5 | Uusimaa | Helsinki ja Uusimaa |
6 | Itä-Uusimaa | |
7 | Itä-Savo | |
8 | Kainuu | Kainuu |
9 | Kanta-Häme | Kanta-Häme |
10 | Keski-Pohjanmaa | Keski-Pohjanmaa |
11 | Keski-Suomi | Keski-Suomi |
12 | Koko maa | |
13 | Kymenlaakso | Kymenlaakso |
14 | Länsi-Pohja | |
15 | Lappi | Lappi |
16 | Päijät-Häme | Päijät-Häme |
17 | Pirkanmaa | Pirkanmaa |
18 | Pohjanmaa | |
19 | Pohjois-Karjala | Pohjois-Karjala |
20 | Pohjois-Pohjanmaa | Pohjois-Pohjanmaa |
21 | Pohjois-Savo | Pohjois-Savo |
22 | Satakunta | Satakunta |
23 | Vaasa | |
24 | Varsinais-Suomi | Varsinais-Suomi |
25 | Yhteensä |
Katso myös
- heande:Radon sisäilma altistus Suomi
- op_en:Radon
- Suomen kunnat
- Radon sisäilmassa
- Talotyypit Suomessa
Viitteet
Aiheeseen liittyviä tiedostoja
<mfanonymousfilelist></mfanonymousfilelist>