Difference between revisions of "Lung cancer cases due to radon in Europe"

From Testiwiki
Jump to: navigation, search
m
m
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{variable|moderator=Teemu R|stub=Yes}}
 
{{variable|moderator=Teemu R|stub=Yes}}
 +
[[Category:Code under inspection]]
  
 
== Scope ==
 
== Scope ==
Line 8: Line 9:
  
 
== Definition ==
 
== Definition ==
 +
 +
*Lung cancer cases calculated from radon concentration using <nowiki><math>cases = relative risk * background rate of cases * concentration * population</math></nowiki>. RR taken from HEIMTSA and INTARESE (Darby 2004; Darby 2005).
 +
** Background rate of new lung cancers is assumed constant for the whole Europe: 58.2 cases per 100,000 population (Globocan 2008, crude rate).
 +
** Linear no threshold model assumed.
 +
** In a given iteration, radon concentrations are assumed equal in all residences in a country.
  
 
=== Data ===
 
=== Data ===
 
Description of the data used for obtaining the value of the variable
 
(e.g. measurement data; mathematical method and its parameters). <br>
 
Please include references (preferably using the ''<nowiki><ref> </ref></nowiki>'' tags)
 
and links to original data, as appropriate.
 
  
 
=== Dependencies ===
 
=== Dependencies ===
Line 21: Line 22:
 
*[[Population of Europe by Country|Population of Europe]]
 
*[[Population of Europe by Country|Population of Europe]]
 
*Lung cancer mortality in Europe (from [[WHO mortality data]])
 
*Lung cancer mortality in Europe (from [[WHO mortality data]])
*ERF of radon exposure on lung cancer mortality ([[:heande:ERFs of several pollutants]]), impact function on the same page used for code below.
+
*ERF of radon exposure on lung cancer ([[:heande:ERFs of several pollutants]])
  
 
=== Unit ===
 
=== Unit ===
Line 29: Line 30:
 
=== Formula ===
 
=== Formula ===
  
==== R code prototype ====
+
*This code features [[R]] functions described on pages [[Opasnet Base Connection for R]] and [[Operating intelligently with multidimensional arrays in R]].
  
*This code features R functions described on pages [[Opasnet Base Connection for R]] and [[Operating intelligently with multidimensional arrays in R]].
+
<rcode>
*This code is incomplete
+
library(OpasnetBaseUtils)
**Some possible expansions are commented out using "#"
+
conc <- op_baseGetData("opasnet_base", "Op_en4713")
 
 
<nowiki>
 
#library(ff)
 
#mortlocs <- op_baseGetLocs("opasnet_base", "Op_en2778")
 
#mort <- op_baseGetData("opasnet_base", "Op_en2778", include = mortlocs[grep("C34|1034|UE15|All Ages", mortlocs$loc),"loc_id"])
 
#poplocs <- op_baseGetLocs("opasnet_base", "Op_en4691")
 
 
pop <- op_baseGetData("opasnet_base", "Op_en4691", include = 1367, exclude = c(1435, 1436))
 
pop <- op_baseGetData("opasnet_base", "Op_en4691", include = 1367, exclude = c(1435, 1436))
#countries <- c("AT", "BE", "BG", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GR", "HU", "IE", "IS", "IT", "LT", "LU",
+
erf <- op_baseGetData("opasnet_base", "Erac2987", include = 48847)
# "LV", "MT", "NL", "NO", "PL", "PT", "RO", "SE", "SI", "SK", "UK")
 
 
countries <- c("Austria", "Belgium", "Bulgaria", "Switzerland", "Cyprus", "Czech Republic", "Germany", "Denmark", "Estonia", "Spain",  
 
countries <- c("Austria", "Belgium", "Bulgaria", "Switzerland", "Cyprus", "Czech Republic", "Germany", "Denmark", "Estonia", "Spain",  
 
"Finland", "France", "Greece", "Hungary", "Ireland", "Iceland", "Italy", "Lithuania", "Luxembourg", "Latvia", "Malta", "Netherlands",  
 
"Finland", "France", "Greece", "Hungary", "Ireland", "Iceland", "Italy", "Lithuania", "Luxembourg", "Latvia", "Malta", "Netherlands",  
 
"Norway", "Poland", "Portugal", "Romania", "Sweden", "Slowenia", "Slovakia", "United Kingdom")
 
"Norway", "Poland", "Portugal", "Romania", "Sweden", "Slowenia", "Slovakia", "United Kingdom")
conc <- op_baseGetData("opasnet_base", "Op_en4713")
+
levels(pop[,"CountryID"]) <- countries #Country IDs converted to names for compatibility
levels(pop[,"CountryID"]) <- countries
 
 
colnames(pop)[4] <- "Country"
 
colnames(pop)[4] <- "Country"
colnames(pop)[8] <- "Population"
+
colnames(pop)[7] <- "Population"
#y <- 0
 
#mort0 <- mort[1,]
 
#temp <- mort[1,]
 
#for (i in 1:length(levels(mort[,"Country"]))) {
 
# icountry <- levels(mort[,"Country"])[i]
 
# temp <- mort[mort[,"Country"] == icountry&mort[,"Age"] == "All Ages"&mort[,"Year"] == as.character(max(as.numeric(as.character(mort[
 
# mort[, "Country"] == icountry, "Year"])))),]
 
# if(nrow(temp)>0) mort0[(y+1):(y+nrow(temp)),] <- temp[,]
 
# y <- nrow(mort0)
 
#}
 
#mort0 <- mort0[,c(3,4,5,6,7,9)]
 
pop <- pop[,c(3,4,5,6,7,8)]
 
conc <- conc[,c(2,3,4,5)]
 
#mort0array <- DataframeToArray(mort0)
 
levels(pop[,"Age"])[1] <- "All Ages" #Fixed to match mortality format
 
#popxmort0 <- IntArray(pop, mort0array, "Mortality")
 
#ffpopxmort0 <- ffdf(Age=as.ff(popxmort0[,1]), Country=as.ff(popxmort0[,2]), Rate=as.ff(popxmort0[,3]), Sex=as.ff(popxmort0[,4]),
 
# Year=as.ff(popxmort0[,5]), Population=as.ff(popxmort0[,6]), Cause=as.ff(factor(popxmort0[,7])), List=as.ff(factor(popxmort0[,8])),
 
# Mortality=as.ff(popxmort0[,9]))
 
 
concarray <- DataframeToArray(conc)
 
concarray <- DataframeToArray(conc)
#ffconcarray <- as.ff(concarray)
+
popxconc <- IntArray(pop, concarray, "Concentration")#[1:1000,,,]
popxconc <- IntArray(pop, concarray, "Concentration")
+
erfarray <- DataframeToArray(erf[,c("obs","Result")])
#popxmort0xconc <- IntArray(popxmort0, concarray[1:1000,,])
+
popxconcxerf <- IntArray(popxconc, erfarray, "ERF")
#y <- 1
+
lungmortality <- data.frame(popxconcxerf[,c("obs","Country","policy","Year","Age","Sex")], Result = popxconcxerf[,"ERF"] * 58.2 *
#temp <- IntArray(ffpopxmort0[1,], concarray)
+
popxconcxerf[,"Concentration"] / 100 * popxconcxerf[, "Population"] / 100000)
#ffpopxmort0xconc <- temp[]
+
</rcode>
#for (i in 1:(nrow(ffpopxmort0)%/%5)) {
+
 
# temp[] <- IntArray(ffpopxmort0[(1+(i-1)*5):(i*5),], concarray)
+
====An alternative code for Finland====
# ffpopxmort0xconc[y:(y+nrow(temp)-1)] <- temp[]
+
 
# y <- y + nrow(temp)
+
This code uses the summary table approach for obtaining data. The data sources are the same except [[ERF for long-term indoor exposure to radon and lung cancer]] (summary table [[:Category:Exposure-response functions]]) and [[Exposure to indoor radon in Finland]] (summary table [[:Category:Exposures]]).
#}
+
 
#for (i in list(1=1:5, 2=8:3)) print(i[1]+i[2])
+
<rcode include="page:OpasnetBaseUtils|name:generic" variables="
k <- 0.37
+
name:show|description:Which exposure parameters do you want to see?|type:checkbox|options:1;Actual population average in Finland;2;Guidance value for new apartments;3;Guidance value for old apartments|default:1;2;3
lungmortality <- data.frame(popxconc[,c(1,2,3,4,5,7)], Result = k * popxconc[, "Concentration"] / 100 * popxconc[, "Population"] / 100000)</nowiki>
+
">
 +
 
 +
cat("Get data from Opasnet Base.\n")
 +
 
 +
library(OpasnetBaseUtils)
 +
library(xtable)
 +
 
 +
conc <- summary.bring("Op_en1619")[show, ] # Summary table Category:Exposures
 +
erf <- summary.bring("Op_en1914") # Summary table Category:Exposure-response functions
 +
pop <- summary.bring("Op_en2154") # Summary table Category:Population characteristics
 +
bg <- summary.bring("Op_en1620") # Summary table Category:Health effects
 +
 
 +
cat("Adjust data for the model.\n")
 +
 
 +
print(xtable(conc), type = 'html')
 +
print(xtable(erf), type = 'html')
 +
print(xtable(pop), type = 'html')
 +
print(xtable(bg), type = 'html')
 +
 
 +
out <- merge(conc, erf)
 +
out <- merge(out, pop)
 +
out <- merge(out, bg)
 +
 
 +
out$ERF <- as.numeric(substr(out$ERF, 1, 6))
 +
out$Exposure <- as.numeric(substr(out$Exposure, 1, 3))
 +
out$Response <- as.numeric(out$Response)
 +
 
 +
cat("Run the actual model.\n")
 +
 
 +
out <- dropall(out)
 +
tst <- rep(TRUE, ncol(out)) # tst: are all values in a column the same?
 +
for(i in 1:ncol(out)){tst[i] <- nlevels(as.factor(out[, i])) == 1}
 +
print(xtable(t(out[1, tst])), type = 'html')
 +
 
 +
out$Out <- (out$ERF - 1) / out$ERF * out$Exposure * out$Response * out$Amount / 100000
 +
for(i in 1:ncol(out)){tst[i] <- nlevels(as.factor(out[, i])) == 1}
 +
print(xtable(out[, !tst]), type = 'html')
 +
 
 +
</rcode>
  
 
== Result ==
 
== Result ==
  
 
{{resultlink}}
 
{{resultlink}}
 +
 +
{|{{prettytable}}
 +
|+'''Lung cancer cases in Europe due to indoor radon in residences (mean and 95% confidence interval).'''
 +
! !!colspan="4"|Year
 +
|----
 +
!Policy!!2010!!2020!!2030!!2050
 +
|----
 +
|BAU || 42691 (22042-95542) || 51138 (24733-111979) || 57618 (25785-137181) || 62461 (27023-143632)
 +
|----
 +
|All || NA || 53385 (25402-130453) || 68338 (28863-171718) || 81873 (31372-239696)
 +
|----
 +
|Biomass || NA || NA || NA || 81849 (32497-218247)
 +
|----
 +
|Insulation || NA || NA || NA || 80534 (32445-236962)
 +
|----
 +
|Renovation || NA || NA || NA || 94075 (35396-288323)
 +
|----
 +
|}
 +
 +
{| {{prettytable}}
 +
|+ '''Lung cancer cases attributable to indoor radon in residences in Europe, year 2010.
 +
! Country of observation!! Mean!! SD
 +
|----
 +
| Austria
 +
| 1105
 +
| 1146
 +
|----
 +
| Belgium
 +
| 857
 +
| 796
 +
|----
 +
| Bulgaria
 +
| 303
 +
| 382
 +
|----
 +
| Switzerland
 +
| 1636
 +
| 2835
 +
|----
 +
| Cyprus
 +
| 10
 +
| 14
 +
|----
 +
| Germany
 +
| 4754
 +
| 4305
 +
|----
 +
| Denmark
 +
| 382
 +
| 408
 +
|----
 +
| Estonia
 +
| 222
 +
| 239
 +
|----
 +
| Spain
 +
| 8245
 +
| 15249
 +
|----
 +
| Finland
 +
| 805
 +
| 792
 +
|----
 +
| France
 +
| 8204
 +
| 12176
 +
|----
 +
| Greece
 +
| 857
 +
| 977
 +
|----
 +
| Hungary
 +
| 1583
 +
| 1985
 +
|----
 +
| Ireland
 +
| 533
 +
| 580
 +
|----
 +
| Italy
 +
| 5035
 +
| 5117
 +
|----
 +
| Lithuania
 +
| 223
 +
| 233
 +
|----
 +
| Luxembourg
 +
| 68
 +
| 64
 +
|----
 +
| Latvia
 +
| 229
 +
| 289
 +
|----
 +
| Malta
 +
| 43
 +
| 50
 +
|----
 +
| Netherlands
 +
| 504
 +
| 338
 +
|----
 +
| Norway
 +
| 566
 +
| 667
 +
|----
 +
| Poland
 +
| 2175
 +
| 1864
 +
|----
 +
| Portugal
 +
| 1183
 +
| 1208
 +
|----
 +
| Romania
 +
| 1233
 +
| 1357
 +
|----
 +
| Sweden
 +
| 1353
 +
| 1475
 +
|----
 +
| Slovakia
 +
| 586
 +
| 661
 +
|----
 +
|| '''Total'''|| '''42691'''||
 +
|----
 +
|}
  
 
==See also==
 
==See also==

Latest revision as of 10:58, 26 August 2013

Scope

Mortality due to indoor radon concentrations.

  • Spatial: Europe
  • Temporal: years 2010-2050

Definition

  • Lung cancer cases calculated from radon concentration using <math>cases = relative risk * background rate of cases * concentration * population</math>. RR taken from HEIMTSA and INTARESE (Darby 2004; Darby 2005).
    • Background rate of new lung cancers is assumed constant for the whole Europe: 58.2 cases per 100,000 population (Globocan 2008, crude rate).
    • Linear no threshold model assumed.
    • In a given iteration, radon concentrations are assumed equal in all residences in a country.

Data

Dependencies

Unit

cases per year

Formula

+ Show code

An alternative code for Finland

This code uses the summary table approach for obtaining data. The data sources are the same except ERF for long-term indoor exposure to radon and lung cancer (summary table Category:Exposure-response functions) and Exposure to indoor radon in Finland (summary table Category:Exposures).

Which exposure parameters do you want to see?:
Actual population average in Finland
Guidance value for new apartments
Guidance value for old apartments

+ Show code

Result

Show results


Lung cancer cases in Europe due to indoor radon in residences (mean and 95% confidence interval).
Year
Policy 2010 2020 2030 2050
BAU 42691 (22042-95542) 51138 (24733-111979) 57618 (25785-137181) 62461 (27023-143632)
All NA 53385 (25402-130453) 68338 (28863-171718) 81873 (31372-239696)
Biomass NA NA NA 81849 (32497-218247)
Insulation NA NA NA 80534 (32445-236962)
Renovation NA NA NA 94075 (35396-288323)
Lung cancer cases attributable to indoor radon in residences in Europe, year 2010.
Country of observation Mean SD
Austria 1105 1146
Belgium 857 796
Bulgaria 303 382
Switzerland 1636 2835
Cyprus 10 14
Germany 4754 4305
Denmark 382 408
Estonia 222 239
Spain 8245 15249
Finland 805 792
France 8204 12176
Greece 857 977
Hungary 1583 1985
Ireland 533 580
Italy 5035 5117
Lithuania 223 233
Luxembourg 68 64
Latvia 229 289
Malta 43 50
Netherlands 504 338
Norway 566 667
Poland 2175 1864
Portugal 1183 1208
Romania 1233 1357
Sweden 1353 1475
Slovakia 586 661
Total 42691

See also

Keywords

References


Related files

<mfanonymousfilelist></mfanonymousfilelist>