Vastaus
+ Näytä koodi- Piilota koodi
library(OpasnetUtils)
library(xtable)
tf <- function(
condition,
data = tidy(opbase.data("Op_fi2814"), direction = "long"),
col.condition = "Lyhenne",
col.common = "Ikä",
resultcol = "Result", ...
) {
########################## tf is a function that takes one large table, finds matching rows and
#### produces a standard-format vector that can be operated with easily. Parameters:
# condition = a vector with conditions for each condition column. The length must be ncol(col.condition).
############ External parameters (these must be defined as objects before the function is run;
##### they are not given in the function but they are used by it):
# data = a data frame that contains the data
# col.condition = vector with names of columns that contain the indices that must match in the data
# col.common = vector with names of columns that are used as indices in calculations.
# resultcol = the column that contains the actual values.
# Take the part of data that fits the condition. Drop all columns but col.common and resultcol.
out <- new("ovariable",
# ovariable cannot have a name because several ovariables are created and merged.
data = data[data[col.condition] == condition, c(col.common, resultcol)]
)
out <- EvalOutput(out, N = N)
out@output <- out@output[ , colnames(out@output) != "Source"]
return(out)
}
#Chronic.environmental.exposure <- function(concentration, ...) {
####################Funktio väestön ympäristöperäisen haitta-ainealtistumisen määrittelyyn
######## Saanti lasketaan yksikössä µg/kg/vrk kun ympäristön haitta-ainepitoisuudet on ilmoitettu yksiköissä µg/m3 (ilma),
######## mg/l (vesi) sekä mg/kg (kiinteät väliaineet)
######## Haitta-aineen taustasaanti tulee ilmoittaa muodossa µg/kg/vrk
######## Parametri: concentration on data.frame, jossa täytyy olla sarake Result, joka sisältää pitoisuuden ja Altiste, joka sisältää altistavan yhdisteen nimen.
########## Pharmacokinetic parameters
temp <- tidy(opbase.data("Op_fi3374"), objname = "Kp")
temp <- temp[temp$Lyhenne == "Kp", c("Altiste", "KpResult")]
Kp <- EvalOutput(new("ovariable", name = "Kp", data = temp), N = N)
temp <- tidy(opbase.data("Op_fi3374"), objname = "Abs.skin.soil")
temp <- temp[temp$Lyhenne == "Abs.skin.soil", c("Altiste", "Abs.skin.soilResult")]
Abs.skin.soil <- EvalOutput(new("ovariable", name = "Abs.skin.soil", data = temp), N = N)
Skin.sa <- (4 * tf("Bw") + 7) / (tf("Bw") + 90) * 10000 #Lasketaan ihon kokonaispinta-ala
F1 <- function(concentration, rate, fraction) { # Ulkoilma-altistuminen
out <- concentration * (24 - tf(fraction) / 24) * tf(rate) / (tf("Bw") * tf("At"))
return(out)
}
F2 <- function(concentration, rate, fraction) { # Sisäilma-altistuminen
out <- concentration * tf(fraction) / 24 * tf(rate) / (tf("Bw") * tf("At"))
return(out)
}
F3 <- function(concentration, rate, fraction) { # Altistusfrekvenssiin perustuva
out <- concentration * 1000 * tf(rate) * tf(fraction) / (tf("Bw") * tf("At"))
return(out)
}
F4 <- function(concentration, rate, fraction) { # Altistumisen osuuteen perustuva
out <- concentration * 1000 * tf(rate) * tf(fraction) / tf("Bw")
return(out)
}
F5 <- function(concentration, rate, fraction) { # Ihoaltistuminen maaperästä
out <- concentration * 1000 * tf("Soil.ad.skin") * 0.000001 * Skin.sa * tf(fraction) *
Abs.skin.soil * tf(rate) / (tf("Bw") * tf("At"))
out@output <- out@output[ , !colnames(out@output) %in% c("Abs.skin.soilResult", "Abs.skin.soilSource")]
return(out)
}
F6 <- function(concentration, rate, fraction) { # Pesuvesi
out <- concentration * 1000 * 0.001 * Kp * tf(rate) * tf("Ed.bw") * Skin.sa * tf(fraction) /
(tf("Bw") * tf("At"))
out@output <- out@output[ , !colnames(out@output) %in% c("KpResult", "KpSource")]
return(out)
}
F7 <- function(concentration, rate, fraction) { # Pintavesi
out <- concentration * 1000 * 0.001 * Kp * tf(rate) * tf("Ed.sw") * Skin.sa * tf(fraction) /
(tf("Bw") * tf("At"))
out@output <- out@output[ , !colnames(out@output) %in% c("KpResult", "KpSource")]
return(out)
}
# Get parameters for exposure functions and combine those with concentration data.
temp <- opbase.data("Op_fi2814.funktioparametrit")
temp$Result <- 1
params <- new("ovariable", name = "params", output = temp[ , colnames(temp) != "Obs"])
concentration <- data.frame(Altiste = c("Ni", "Cd", "F"), Result = 1:3)
print(xtable(concentration), type = 'html')
# Make concentration an ovariable if it isn't yet (assuming that then it is a data.frame).
if(class(concentration) != "ovariable") {
concentration <- new("ovariable", name = "concentration", data = concentration)
}
concentration <- EvalOutput(concentration, N = N)
concentration <- concentration * params
# Calculate exposures with respective functions.
## Create an ovariable that collects all results.
out <- new("ovariable", name = "exposure")
unique(concentration@output[c("Funktio", "Nopeus", "Osuus")])
for(i in unique(concentration@output[c("Funktio", "Nopeus", "Osuus")])$Funktio) {
temp2 <- concentration
temp2@output <- temp2@output[temp2@output$Funktio == i, ]
temp2 <- get(as.character(temp2@output$Funktio[1]))(
temp2,
as.character(temp2@output$Nopeus[1]),
as.character(temp2@output$Osuus[1])
)
out@output <- rbind(out@output, temp2@output)
}
# return(out)
#}
print(xtable(out@output), type = 'html')
#Chronic.environmental.exposure(data.frame(Result = 1))
| |
Muita koodeja
+ Näytä koodi- Piilota koodi
#Laskennan jälkeen lisätään yhteiset sarakkeet col.common ja kootaan altistuminen kaikkien altistumisreittien kautta allekkain yhteen tauluun.
common <- merge(unique(data[col.common]), data.frame(temp=1))[-(length(col.common)+1)]
out <- data.frame(
common,
Altistumisreitti = rep(c("Hengitystiet", "Juomavesi", "Maaperä (ruuansulatuskanava)", "Paikalliset vihannekset", "Paikalliset juurekset", "Paikalliset marjat", "Paikallinen kala", "Paikallinen liha", "Paikalliset maitotuotteet", "Pintavesi (ruuansulatuskanava)", "Maaperä (iho)", "Pesuvesi (iho)", "Pintavesi (iho)", "Taustasaanti"), each = nrow(common)),
Result = c(Air.inh, Dw.ing, Soil.ing, Lfc.ing, Tfc.ing, Berries.ing, Fish.ing, Meat.ing, Dairy.ing, Sw.ing, Soil.derm, Bw.derm, Sw.derm, Background.intake.adult, Background.intake.child)
)
return(out)
}
#################Funktio ympäristön terveysperusteisen laadun tarkasteluun
######Ympäristöpitoisuus tulee ilmoittaa samassa yksikössä kuin viitearvo
Health.based.environmental.quality <- function(Concentration, EQC){
#Ympäristöpitoisuuksien vertailu haitta-aineen terveysperusteisiin ohjearvopitoisuuksiin
HEQ.air.outdoor <- C.air.outdoor / HEQC.air.outdoor #Ulkoilma
HEQ.air.indoor <- C.air.indoor / HEQC.air.indoor #Sisäilma
HEQ.dw <- C.dw / HEQC.dw #Juomavesi
HEQ.soil <- C.soil / HEQC.soil #Maaperä
HEQ.lfc <- C.lfc / HEQC.lfc #Vihannekset
HEQ.tfc <- C.tfc / HEQC.tfc #Juurekset
HEQ.berries <- C.berries / HEQC.berries #Marjat
HEQ.sw <- C.sw / HEQC.sw #Pintavesi
out <- data.frame(
Väliaine = c("Ulkoilma", "Sisäilma", "Juomavesi", "Maaperä", "Vihannekset", "Juurekset", "Marjat", "Pintavesi"),
Result = c(HEQ.air.outdoor, HEQ.air.indoor, HEQ.dw, HEQ.soil, HEQ.lfc, HEQ.tfc, HEQ.berries, HEQ.sw)
)
return(out)
}
#################Funktio väestön ympäristöperäisestä haitta-ainealtistumisesta aiheutuvan terveysriskin karakterisointiin
####Vaatii toimiakseen:
####Tot.intake.adult = Aikuiselle määritetty keskimääräinen päivittäinen haitta-aineen kokonaissaanti (per painokilo per päivä)
####Tot.intake.child = Lapselle määritetty keskimääräinen päivittäinen haitta-aineen kokonaissaanti (per painokilo per päivä)
####Tot.intake.lifetime = Koko eliniälle määritetty keskimääräinen päivittäinen haitta-aineen kokonaissaanti (per painokilo per päivä)
####C.inhaled.air.adult = Aikuiselle määritetty hengitysilman keskimääräinen haitta-ainepitoisuus
####C.inhaled.air.child = Lapselle määritetty hengitysilman keskimääräinen haitta-ainepitoisuus
####C.inhaled.air.lifetime = Koko eliniälle määritetty hengitysilman keskimääräinen haitta-ainepitoisuus
####TDI = Haitta-aineen turvallisen päivittäisen saannin viitearvo
####NOAEL.ing = Haitta-aineen päivitäisen saannin NOAEL/LOAEL-arvo
####TCA = Haitta-aineen turvallisen päivittäisen hengitystiealtistumisen viitearvo
####NOAEC.inh = Haitta-aineen päivitäisen hengitystiealtistumisen NOAEC/LOAEC-arvo
####Cancer.unit.risk.intake = Haitta-aineen elinikäisen päivitäisen saannin yksikkösyöpäriski
####Cancer.unit.risk.inhalation = Haitta-aineen elinikäisen päivitäisen hengitystiealtistumisen yksikkösyöpäriski
####Population = Altistuvan väestön määrä
Health.risk.characterisation.of.chronic.exposure.to.toxic.substances <- function(Exposure, Toxicity){
###Päivittäinen kokonaissaanti
HQ.intake.adult <- Tot.intake.adult / TDI
MOS.intake.adult <- NOAEL.ing / Tot.intake.adult
HQ.intake.child <- Tot.intake.child / TDI
MOS.intake.child <- NOAEL.ing / Tot.intake.child
HQ.intake.lifetime <- Tot.intake.lifetime / TDI
MOS.intake.lifetime <- NOAEL.ing / Tot.intake.lifetime
###Päivittäinen hengitystiealtistuminen
HQ.inhalation.adult <- C.inhaled.air.adult / TCA
MOS.inhalation.adult <- NOAEC.inh / C.inhaled.air.adult
HQ.inhalation.child <- C.inhaled.air.child / TCA
MOS.inhalation.child <- NOAEC.inh / C.inhaled.air.child
HQ.inhalation.lifetime <- C.inhaled.air.lifetime / TCA
MOS.inhalation.lifetime <- NOAEC.inh / C.inhaled.air.lifetime
###Elinikäinen syöpäriski
Cancer.risk.intake <- Tot.intake.lifetime * Cancer.unit.risk.intake
Cancer.cases.intake <- Cancer.risk.intake * Population
Cancer.risk.inhalation <- C.inhaled.air.lifetime * Cancer.unit.risk.inhalation
Cancer.cases.inhalation <- Cancer.risk.inhalation * Population
###Kootaan kaikki riski-indikaattorit yhteen tauluun
Noncancer.risk <- data.frame(
Altistumisreitti = rep(c("Kokonaissaanti", "Hengitystiet"), each=6),
Terveysvaikutus = c("Muu kuin genotoksinen karsinogeneesi"),
Riski.indikaattori = rep(rep(c("Vaaraosamäärä (HQ)", "Turvamarginaali (MOS)"), each=3), times=2),
Altistumistaso = c("Aikuinen", "Lapsi", "Elinikäinen"),
Result = c(HQ.intake.adult, HQ.intake.child, HQ.intake.lifetime, MOS.intake.adult, MOS.intake.child, MOS.intake.lifetime, HQ.inhalation.adult, HQ.inhalation.child, HQ.inhalation.lifetime, MOS.inhalation.adult, MOS.inhalation.child, MOS.inhalation.lifetime)
)
Cancer.risk <- data.frame(
Altistumisreitti = rep(c("Kokonaissaanti", "Hengitystiet"), each=2),
Terveysvaikutus = c("Genotoksinen karsinogeneesi"),
Riski.indikaattori =c("Yksilön syöpäriski (per 100 000)", "Odotetut syöpätapaukset väestössä"),
Altistumistaso = c("Elinikäinen"),
Result = c(Cancer.risk.intake*100000, Cancer.cases.intake, Cancer.risk.inhalation*100000, Cancer.cases.inhalation)
)
out <- merge(Noncancer.risk, Cancer.risk, all=TRUE)
return(out)
}
#objects.put(tf, Chronic.environmental.exposure.to.toxic.substances, Health.based.environmental.quality, Health.risk.characterisation.of.chronic.exposure.to.toxic.substances)
#cat("Funktiot alustettu. Ota ajon avain talteen myöhempää käyttöä varten.\n")
library(OpasnetUtils)
library(xtable)
objects.get("UeCkN4ShRIGFXV3z")
###########Tuloslaskenta
data <- tidy(opbase.data("Op_fi2814"))
### Määritellään ulkoiset parametrit Altistumislaskennan taulukon muokkaamista varten.
col.common <- "Henkilö"
col.result <- "Result"
col.condition <- "Lyhenne"
####Arvioinnissa käytettyjen lähtötietojen printtaus
cat("Altistumisen arvioinnin perusteena käytetyt ympäristön haitta-ainepitoisuudet \n")
Environmental.concentration <- data.frame(
Väliaine=c("Ulkoilma","Sisäilma","Juomavesi","Maaperä","Paikalliset vihannekset","Paikalliset juurekset","Paikalliset marjat","Paikallinen kala", "Paikallinen liha", "Paikalliset maitotuotteet", "Pesuvesi", "Pintavesi"),
Yksikkö=c("µg/m3", "µg/m3", "mg/l", "mg/kg", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/l", "mg/l"),
Pitoisuus=c(C.air.outdoor, C.air.indoor, C.dw, C.soil, C.lfc, C.tfc, C.berries, C.fish, C.meat, C.dairy, C.bw,C.sw)
)
print(xtable(Environmental.concentration, digits=3), type = 'html')
cat("Muiden altistumisen arvioinnissa käytettyjen muuttujien arvot.\n")
parameters.adult <- data[data$Henkilö == "Aikuinen",]
parameters.child <- data[data$Henkilö == "Lapsi",]
parameters.table.a <- data.frame(
Muuttuja=parameters.adult$Parametri,
Yksikkö=parameters.adult$Yksikkö,
Aikuinen=parameters.adult$Result,
Lapsi=parameters.child$Result
)
parameters.table.b <- data.frame(
Muuttuja=c("Iholta imeytyvän haitta-aineen osuus (maa-aineskontaktin yhteydessä)","Ihon läpäisevyyskerroin haitta-aineelle (vesikontaktin yhteydessä)","Haitta-aineen taustasaanti muista kuin paikallisista lähteistä"),
Yksikkö=c("-","cm/h","µg/kg/vrk"),
Aikuinen=c(Abs.skin.soil, Kp, Background.intake.adult),
Lapsi=c(Abs.skin.soil, Kp, Background.intake.adult)
)
parameters.table <- merge(parameters.table.a, parameters.table.b, all=TRUE)
print(xtable(parameters.table, digits=3), type = 'html')
cat("Ympäristön laadun arvioinnissa käytetyt haitta-ainepitoisuuksien terveysperusteiset viitearvot \n")
HEQC.table <- data.frame(
Väliaine=c("Ulkoilma","Sisäilma","Juomavesi","Maaperä","Paikalliset vihannekset","Paikalliset juurekset","Paikalliset marjat","Paikallinen kala", "Paikallinen liha", "Paikalliset maitotuotteet","Pintavesi"),
Yksikkö=c("µg/m3", "µg/m3", "mg/l", "mg/kg", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/kg tuorepainoa", "mg/l"),
Pitoisuus=c(HEQC.air.outdoor, HEQC.air.indoor, HEQC.dw, HEQC.soil, HEQC.lfc, HEQC.tfc, HEQC.berries, HEQC.fish, HEQC.meat, HEQC.dairy, HEQC.sw)
)
print(xtable(HEQC.table, digits=3), type = 'html')
cat("Kroonisesta haitta-ainealtistumisesta aiheutuvan terveysriskin arvioinnissa käytetyt toksisuuden viitearvot \n")
toxicity.values.table <- data.frame(
Viitearvo=c("Haitta-aineen turvallisen päivittäisen saannin viitearvo", "Haitta-aineen turvallisen päivittäisen saannin viitearvo", "Haitta-aineen päivittäisen saannin NOAEL/LOAEL-arvo", "Haitta-aineen päivittäisen hengitystiealtistumisen NOAEC/LOAEC-arvo", "Haitta-aineen elinikäisen päivittäisen saannin yksikkösyöpäriski", "Haitta-aineen elinikäisen päivittäisen hengitystiealtistumisen yksikkösyöpäriski", "Altistuvan väestön määrä"),
Yksikko=c("µg/kg/vrk", "µg/m3", "µg/kg/vrk", "µg/kg/vrk", "per µg/kg/vrk", "per µg/m3", "Henkilöä"),
Arvo=c(TDI, TCA, NOAEL.ing, NOAEC.inh, Cancer.unit.risk.intake, Cancer.unit.risk.inhalation, Population)
)
print(xtable(toxicity.values.table, digits=5), type = 'html')
###Altistumisen arviointi
cat("Altistumisen arvioinnin tulokset. \n")
expo <- Chronic.environmental.exposure.to.toxic.substances(C.air.outdoor, C.air.indoor, data)
intake.adult <- expo[expo$Henkilö == "Aikuinen",]
intake.child <- expo[expo$Henkilö == "Lapsi",]
intake.tot <- data.frame(
Altistumisreitti="Kokonaissaanti",
Aikuinen=sum(intake.adult$Result, na.rm=TRUE),
Lapsi=sum(intake.child$Result, na.rm=TRUE)
)
intake.table <- data.frame(
Altistumisreitti=intake.adult$Altistumisreitti,
Aikuinen=(intake.adult$Result),
Lapsi=(intake.child$Result)
)
intake.table <- merge(intake.table,intake.tot,all=TRUE)
intake.table$Elinikäinen <- (intake.table$Lapsi * 6 + intake.table$Aikuinen * 64) / 70
intake.fractions.adult <- (intake.table$Aikuinen / intake.tot$Aikuinen)*100
intake.fractions.child <- (intake.table$Lapsi / intake.tot$Lapsi)*100
intake.fractions.lifetime <- (intake.table$Elinikäinen / ((intake.tot$Lapsi * 6 + intake.tot$Aikuinen * 64)/70)*100)
intake.fractions.table <- data.frame(
Altistumisreitti=intake.table$Altistumisreitti,
Aikuinen=intake.fractions.adult,
Lapsi=intake.fractions.child,
Elinikäinen=intake.fractions.lifetime
)
cat("Keskimääräinen päivittäinen haitta-aineen saanti (µg/kg/vrk). \n")
print(xtable(intake.table, digits=3), type = 'html')
cat("Eri altistumisreittien osuus päivittäisestä saannista (%). \n")
print(xtable(intake.fractions.table, digits=4), type = 'html')
###Ympäristöpitoisuuksien terveysperusteisen viitearvovertailun tulostaulu
cat("Haitta-aineen pitoisuus ympäristössä suhteutettuna terveysperusteiseen viitearvoon.\n")
HEQ.table <- Health.based.environmental.quality(Concentration, EQC)
print(xtable(HEQ.table, digits=3), type = 'html')
###Terveysriskin karakterisointi
#####Määritellään terveysriskin karakterisointi -funktion tarvitsemat lähtömuuttujat
Tot.intake.adult <- expo[expo$Henkilö == "Aikuinen",]
Tot.intake.adult <- sum(Tot.intake.adult$Result,na.rm=TRUE)
Tot.intake.child <- expo[expo$Henkilö == "Lapsi",]
Tot.intake.child <- sum(Tot.intake.child$Result,na.rm=TRUE)
Tot.intake.lifetime <- (Tot.intake.child * 6 + Tot.intake.adult * 64) / 70
Ef.air.indoor <- data[data$Lyhenne == "Ef.air.indoor",]
Ef.air.indoor.adult <- (Ef.air.indoor[Ef.air.indoor$Henkilö == "Aikuinen",])$Result
Ef.air.indoor.child <- (Ef.air.indoor[Ef.air.indoor$Henkilö == "Lapsi",])$Result
C.inhaled.air.adult <- (C.air.outdoor * ((24 - Ef.air.indoor.adult) / 24)) + (C.air.indoor * (Ef.air.indoor.adult / 24))
C.inhaled.air.child <- (C.air.outdoor * ((24 - Ef.air.indoor.child) / 24)) + (C.air.indoor * (Ef.air.indoor.child / 24))
C.inhaled.air.lifetime <- (C.inhaled.air.child * 6 + C.inhaled.air.adult * 64) / 70
risk <- Health.risk.characterisation.of.chronic.exposure.to.toxic.substances(Exposure, Toxicity)
#####Riskin karakterisoinnin tulostaulu
cat("Kroonisesta ympäristöperäisestä haitta-ainealtistumisesta aiheutuvan terveysriskin karakterisointi. \n")
risk.adult <- risk[risk$Altistumistaso == "Aikuinen",]
risk.child <- risk[risk$Altistumistaso == "Lapsi",]
risk.lifetime <- risk[risk$Altistumistaso == "Elinikäinen",]
risk.table.a <- data.frame(Altistumisreitti=risk.adult$Altistumisreitti, Terveysvaikutus=risk.adult$Terveysvaikutus, Riski.indikaattori=risk.adult$Riski.indikaattori, Aikuinen=risk.adult$Result, Lapsi=risk.child$Result)
risk.table.b <- data.frame(Altistumisreitti=risk.lifetime$Altistumisreitti, Terveysvaikutus=risk.lifetime$Terveysvaikutus, Riski.indikaattori=risk.lifetime$Riski.indikaattori, Elinikäinen=risk.lifetime$Result)
risk.table <- merge(risk.table.a, risk.table.b, all=TRUE)
print(xtable(risk.table, digits=3), type = 'html')
| |
⇤#: Ongelma: altistumisfunktio tuottaa sisällään ovariableja, mutta sitä ajetaan ikään kuin ne olisivat data.frameja. Onkohan ovariablejen käyttö tarpeen? Toisaalta, jos taulukoissa olevat lähtötiedot ovat epävarmoja ja tarvitsevat Interpretiä, miten toimitaan? --Jouni Tuomisto 2. tammikuuta 2013 kello 22.19 (EET)
Mallifunktio
Oletusajo : UeCkN4ShRIGFXV3z
Muuta
Vaikuttavuusarviointeja
<math>\alpha + \omega + 444</math>
Quadratic: <math>u(x)=ax+bx^2+c</math>
Log Inverse Power Transformation: <math>u(x)=\frac{1}{1+exp[-a-\beta(1/K)log(1+KX)]}</math>, Point of
Inflection: <math>u(x)=1/2(1-k/b)</math>
Negative Exponential: <math>u(x)=\frac{1-e^\mathrm{-a(x-x_1)}}{1-e^\mathrm{x_h-x_1}}</math>
Polyneux: <math>u(x)=\sum^n_{i=1}P(x)e^{\lambda_ix}</math>
Multiattribute: <math>P_{ik}=\alpha_i+\sum^m_{j=1}\sum^{L_j}_{l=1}\chi_{klj}P_{ilj}</math>
R-testiä
Seturin laskennan testausta
<mfanonymousfilelist></mfanonymousfilelist>
Päivitetty.
<math>123+\alpha -555-666+\omega</math>
moi
Vaihtoehtoinen leikkikenttä
Täältä neuvoja!
Measurement techniques
|
Authors
|
Utility function: u(x)
|
|
I. Certainty Equivalence (CE)
|
Fisburn (1967), Hull et al. (1973), Keeney and Raiffa (1976), LaValle (1978), and Pennings and Smidts (2000)I. Certainty Equivalence (CE)
|
II. Conjoint
|
Tversky (1967), Anderson and Shanteau (1970), Wind (1982), Corstjens and Weinstein (1982), and Smidts (1990)
|
III. Willingness-to-trade-off
|
Sarin and Weber (1993), Weber and Milliman (1997), and Weber and Hsee (1998)
|
IV. Standard sequence
|
Wakker and Denefee (1996) and Abdellaoui (2000)
|
Measurement techniques
|
Authors
|
Utility function: u(x)
|
|
I. Certainty Equivalence (CE)
|
Fisburn (1967), Hull et al. (1973), Keeney and Raiffa (1976), LaValle (1978), and Pennings and Smidts (2000)I. Certainty Equivalence (CE)
|
II. Conjoint
|
Tversky (1967), Anderson and Shanteau (1970), Wind (1982), Corstjens and Weinstein (1982), and Smidts (1990)
|
III. Willingness-to-trade-off
|
Sarin and Weber (1993), Weber and Milliman (1997), and Weber and Hsee (1998)
|
IV. Standard sequence
|
Wakker and Denefee (1996) and Abdellaoui (2000)
|
Terveysvaikutukset
HUOM! Tällä hetkellä malli laskee ainoastaan murskausprosessin pölypäästöt[1] ja niiden leviämisen 10-15 km:n säteellä olevaan väestöön. Mallia päivitetään jatkuvasti.
+ Näytä koodi- Piilota koodi
library(OpasnetBaseUtils)
library(ggplot2)
earth.radius <- 6372.8 # quadratic mean or root mean square approximation of the average great-circle
# circumference derives a radius of about 6372.8 km (Wikipedia)
central.angle <- function(s.la, s.lo, f.la, f.lo) 2 * asin((sin((s.la - f.la) / 2)^2 + cos(s.la) * cos(f.la) * sin((s.lo - f.lo) / 2)^2)^0.5)
dtheta.y <- 1/earth.radius*180/pi # central angle increase per 1 kilometer north from a given point assuming no displacement on x axis
dtheta.x <- 2*asin(sin(1/(2*earth.radius))/cos(LA/180*pi))*180/pi # central angle increase per 1 kilometer east from a given point
# - assuming no displacement on y axis
# Populaatio data
pop.locs <- op_baseGetLocs("heande_base", "Heande3182", apply.utf8 = FALSE)
head(pop.locs)
pop.slice.la <- pop.locs[pop.locs$ind == "Latitude", "loc_id"][pop.locs[pop.locs$ind == "Latitude", "loc"] < LA + 10.5 * dtheta.y &
pop.locs[pop.locs$ind == "Latitude", "loc"] > LA - 10.5 * dtheta.y]
pop.slice.lo.inverse <- pop.locs[pop.locs$ind == "Longitude", "loc_id"][pop.locs[pop.locs$ind == "Longitude", "loc"] > LO + 10.5 * dtheta.x |
pop.locs[pop.locs$ind == "Longitude", "loc"] < LO - 10.5 * dtheta.x]
pop <- op_baseGetData("heande_base", "Heande3182", include = pop.slice.la, exclude = pop.slice.lo.inverse)
head(pop)
pop$Longitude <- as.numeric(as.character(pop$Longitude))
pop$Latitude <- as.numeric(as.character(pop$Latitude))
pop$LObin <- cut(pop$Longitude, breaks = LO + ((-11:10) + 0.5 ) * dtheta.x)
pop$LAbin <- cut(pop$Latitude, breaks = LA + ((-11:10) + 0.5 ) * dtheta.y)
# Pitoisuus data
pitoisuus <- function(n, paasto, L.matrix) { #, X_coord, Y_coord) {
ID.list <- tapply(1:nrow(L.matrix), L.matrix[,c("Kaupunki", "Vuosi", "Tyyppi")], list)
ID.list.samples <- sample(ID.list, n, replace = TRUE)
ID.vec <- unlist(ID.list.samples)
print(ID.vec)
print(ID.list)
#c.matrix <- pitoisuus(L.matrix, Paasto) #, X_coord, Y_coord)
l.matrix <- L.matrix[ID.vec,]
l.matrix$obs <- rep(1:n, each = length(ID.vec)/n)
print(head(l.matrix))
c.matrix <- merge(l.matrix, paasto)
c.matrix <- model.frame(I(Paasto * k) ~., data = c.matrix)
colnames(c.matrix)[1] <- "Pitoisuus"
print(head(c.matrix))
return(c.matrix)
}
PILTTI.matrix <- op_baseGetData("heande_base", "Heande3181")[,-c(1,2,9)] # unit: ugm^-3/Mga^-1
PILTTI.matrix$dy <- as.numeric(as.character(PILTTI.matrix$dy))
PILTTI.matrix$dx <- as.numeric(as.character(PILTTI.matrix$dx))
colnames(PILTTI.matrix)[colnames(PILTTI.matrix)=="Result"] <- "k"
head(PILTTI.matrix)
Paasto <- data.frame(Paasto = murskaus.maara * paasto.kerroin / 1e6) # unit: Mga^-1
head(Paasto)
C.matrix <- pitoisuus(N, Paasto, PILTTI.matrix) # unit: ugm^-3
N
head(C.matrix)
C.matrix$LObin <- cut(C.matrix$dx / 1000 * dtheta.x + LO, breaks = LO + ((-11:10) + 0.5 ) * dtheta.x)
C.matrix$LAbin <- cut(C.matrix$dy / 1000 * dtheta.y + LA, breaks = LA + ((-11:10) + 0.5 ) * dtheta.y)
# Yhdistys
head(C.matrix)
pop.paasto <- merge(C.matrix, pop[,-c(1,2,6)])
pop.paasto.korjaus <- data.frame(Pitoisuus = pop.paasto$Pitoisuus, Vaesto = pop.paasto$Result / N)
head(pop.paasto.korjaus)
plot1 <- ggplot(pop.paasto.korjaus, aes(x = Pitoisuus, weight = Vaesto)) + geom_histogram(binwidth =
(max(pop.paasto.korjaus$Pitoisuus[pop.paasto.korjaus$Vaesto!=0]) -
min(pop.paasto.korjaus$Pitoisuus[pop.paasto.korjaus$Vaesto!=0]))/100) +
xlim(min(pop.paasto.korjaus$Pitoisuus[pop.paasto.korjaus$Vaesto!=0]) - 0.000001,
max(pop.paasto.korjaus$Pitoisuus[pop.paasto.korjaus$Vaesto!=0]) + 0.000001)
plot1 + geom_vline(xintercept = 40, colour = "red") # Ohjearvo
exposure.pop <- tapply(pop.paasto$Pitoisuus * pop.paasto$Result, pop.paasto[,c("obs")], sum)
bg.mort <- 45182/5203826 # same values as used in PILTTI
erf <- 0.0097 # J. T. Tuomisto, A. Wilson, et al. Uncertainty in mortality response to airborne fine particulate matter... 2008
# unit: 1/ugm^-3
mort.out <- erf * bg.mort * exposure.pop
qplot(mort.out, geom="density")
cat("Odotusarvo kuolemille vuodessa:", mean(mort.out), "\n")
cat("Ohjearvon 40 ugm^-3 mukaisen altistusrajan ylitti", sum(pop.paasto.korjaus$Vaesto[pop.paasto.korjaus$Pitoisuus>40]), "asukasta.\n")
| |
R-testi
+ Näytä koodi- Piilota koodi
######## Haetaan R-koodi generic sivulta Projektinhallinta. Sisältää funktiot dropall ja PTable.
######## Ladataan tarvittavat paketit
library(OpasnetBaseUtils)
library(ggplot2)
library(xtable)
print("Haetaan tarvittava data Opasnet-kannasta")
saanto.siemenet <- op_baseGetData("opasnet_base", "Op_fi2633")[,-c(1,2,7)] # Jatropan siementen saanto viljelystä
saanto.öljy <- op_baseGetData("opasnet_base", "Op_fi2634")[,-c(1,2,5)] # Öljyn saanto jatropan siemenistä
saanto.diesel <- op_baseGetData("opasnet_base", "Op_fi2632")[,-c(1,2,5)] # Biodieselin saanto jatropaöljystä
viljelyala <- op_baseGetData("opasnet_base", "Op_fi2642")[,-c(1,2)] # Jatropan viljelyalueet
päästö.ilmasto <- op_baseGetData("opasnet_base", "Op_fi2547")[,-c(1,2)] # Jatropan viljelyn ilmastovaikutukset
päästö.sosiaali <- op_baseGetData("opasnet_base", "Op_fi2552")[,-c(1,2)] # Jatropan viljelyn sosiaaliset vaikutukset
päästö.ekosyst <- op_baseGetData("opasnet_base", "Op_fi2548")[,-c(1,2)] # Jatropan viljelyn ekosysteemivaikutukset
P <- op_baseGetData("opasnet_base", "Op_fi2539")[,-c(1,2,7)] # Jatropan käyttö bioenergian lähteenä
print("Ajetaan malli")
### Muutetaan sarakkeiden nimet sopiviksi yhdistämistä varten.
colnames(saanto.siemenet)[4] <- "siemenet"
colnames(saanto.öljy)[2] <- "öljy"
colnames(saanto.diesel)[2] <- "diesel"
## Yhdistetään tiedot toisiinsa yhdeksi data.frameksi. Lasketaan saanto.
saanto <- merge(saanto.siemenet, saanto.öljy)
saanto <- merge(saanto, saanto.diesel)
saanto[,9] <- saanto$siemenet * saanto$öljy * saanto$diesel * ala
colnames(saanto)[9] <- "saanto (kg/a)"
## Muutetaan tulos jakaumaksi Monte Carlolla.
P <- PTable(P, n)
saanto <- merge(P, saanto)
## Lasketaan tulostaulu.
if(length(divisions)>1) divisions <- as.list(saanto[, divisions]) else divisions <- saanto[, divisions]
out1 <- as.data.frame(as.table(tapply(saanto[, 10], divisions, mean)))
out1 <- dropall(out1[!is.na(out1$Freq), ])
print(xtable(out1), type = 'html')
## Lasketaan tuloskuvaaja.
out2 <- as.data.frame(as.table(tapply(saanto[, 10], list(saanto[, divisions2], saanto$obs), mean)))
out2 <- dropall(out2[!is.na(out2$Freq), ])
ggplot(out2, aes(x = Freq, weight = 1, fill = Var1)) +geom_density()
## Jostain syystä vain osa kuvista piirtyy oikein, riippuen mitä parametreja valitaan. En ymmärrä syytä.
| |
fwae
JEPULISTA
Apua typeryyksien keksijöille!
Jouni T. Tuomisto: Apua typeryyksien keksijöille!. Ajatelma toimintatapojen muuttamisesta. Opasnet 2010. Viitattu 24.11.2024.
Argumenta
Sami Majaniemi, Mikko Pohjola, Jouni T. Tuomisto: Argumenta. Opasnet 2010. Viitattu 24.11.2024.
Arseenialtistuminen Suomessa
Hannu Komulainen: Arseeni altistuminen Suomi. Opasnet 2010. Viitattu 24.11.2024.
Arviointi THL:n budjetista
Jouni T. Tuomisto: Arviointi THL:n budjetista. Opasnet 2010. Viitattu 24.11.2024.
Arviointi kirjailijoiden tulojen turvaamisesta
Jouni T. Tuomisto: Arviointi kirjailijoiden tulojen turvaamisesta. Opasnet 2010. Viitattu 24.11.2024.
Arviointi pohjavesilaitoksen mikrobiologisista riskeistä
Päivi Meriläinen: Arviointi pohjavesilaitoksen mikrobiologisista riskeistä. Opasnet 2010. Viitattu 24.11.2024.
Päivi Meriläinen: Arviointi pohjavesilaitoksen mikrobiologisista riskeistä. Opasnet 2010. Viitattu 24.11.2024.
Arvostuspeli
Jouni T. Tuomisto: Arvostuspeli. Opasnet 2010. Viitattu 24.11.2024.
Arvostusteoria. Ehdotus markkinatalouden aiheuttaman riippuvuuden hoitoon
Jouni T. Tuomisto: Arvostusteoria. Ehdotus markkinatalouden aiheuttaman riippuvuuden hoitoon. Luento. Opasnet 2010. Viitattu 24.11.2024.
Avoin arviointi erityistilanteessa
Jouni T. Tuomisto: Avoin arviointi erityistilanteessa. Ohjeistus. Opasnet 2010. Viitattu 24.11.2024.
Energiantuotannon kasvihuonekaasupäästöt Suomessa
Matleena Tuomisto, Noora Koponen, Teemu Rintala: Energiantuotannon kasvihuonekaasupäästöt Suomessa. Opasnet 2010. Viitattu 24.11.2024.
Fluoridi altistuminen
Hannu Komulainen, Olli Leino: Fluoridi altistuminen. Muuttuja. Opasnet 2010. Viitattu 24.11.2024.
Formaldehydi altistus Suomi
Eero Priha, Otto Hänninen, Olli Leino: Formaldehydi altistus Suomi. Opasnet 2010. Viitattu 24.11.2024.
Heande-projektinhallinta
Jouni T. Tuomisto: Heande-projektinhallinta. Projektinhallintajärjestelmän esittely. Opasnet 2010. Viitattu 24.11.2024.
Hyöty-riskiarviointi ydinvoimasta Suomessa
Teemu Rintala, Sami Majaniemi, Minna-Mari Hämäläinen, Noora Koponen, Matleena Tuomisto, Aino Paakkinen, Jouni T. Tuomisto: Hyöty-riskiarviointi ydinvoimasta Suomessa. Opasnet 2010. Viitattu 24.11.2024.
Ilmastokäräjät
Jouni T. Tuomisto: Ilmastokäräjät. Tutkimussuunnitelma. Opasnet 2010. Viitattu 24.11.2024.
Ilmastonmuutos
Matleena Tuomisto, Jouni T. Tuomisto: Ilmastonmuutos. Opasnet 2010. Viitattu 24.11.2024.
Ilmastopolitiikkaa voisi ohjata tieteen menetelmin
Jouni T. Tuomisto, Mikko V. Pohjola: Ilmastopolitiikkaa voisi ohjata tieteen menetelmin. Mielipidekirjoitus. Opasnet 2010. Viitattu 24.11.2024.
Iskuryhmä ilmastonmuutosta vastaan
Jouni T. Tuomisto: Iskuryhmä ilmastonmuutosta vastaan. Pamfletti. Opasnet 2010. Viitattu 24.11.2024.
Islannin tulivuorenpurkaus 2010
Jouni T. Tuomisto, Pauliina Ahtoniemi: Islannin tulivuorenpurkaus 2010. Opasnet 2010. Viitattu 24.11.2024.
Kalaruoan terveysvaikutukset
Olli Leino: Kalaruoan terveysvaikutukset. Opasnet 2010. Viitattu 24.11.2024.
Kaupungin verkkosivujen määrittelyt
Jouni T. Tuomisto: Kaupungin verkkosivujen määrittelyt. Opasnet 2010. Viitattu 24.11.2024.
Kaupunkien lämpösaarekkeiden lieventämisen terveysvaikutukset EuroopassaMalline:Julkaisu.default
Kaupunkirakenne - kansanterveysMalline:Julkaisu.default
Kloorauksen sivutuotteet altistus Suomi
Päivi Meriläinen, Olli Leino: Kloorauksen sivutuotteet altistus Suomi. Opasnet 2010. Viitattu 24.11.2024.
Komiteoita, tiedostoja ja muita entisajan keksintöjä
Jouni T. Tuomisto: Komiteoita, tiedostoja ja muita entisajan keksintöjä. Opasnet 2010. Viitattu 24.11.2024.
Kosteusvauriot altistus
Ulla Haverinen-Shaughnessy, Olli Leino: Kosteusvauriot altistus. Opasnet 2010. Viitattu 24.11.2024.
Kuntakone
Sami Majaniemi: Kuntakone. Opasnet 2010. Viitattu 24.11.2024.
Lyijy ympäristö altistus
Otto Hänninen, Olli Leino: Lyijy ympäristö altistus. Opasnet 2010. Viitattu 24.11.2024.
Matkojenhallintajärjestelmä
Jouni T. Tuomisto: Matkojenhallintajärjestelmä. Ehdotus parannuksesta. Opasnet 2010. Viitattu 24.11.2024.
Metyylielohopea altistus Suomi
Olli Leino, Juha Villman: Metyylielohopea altistus Suomi. Opasnet 2010. Viitattu 24.11.2024.
Narkolepsia Suomessa
Noora Koponen, Minna-Mari Hämäläinen: Narkolepsia Suomessa. Muuttuja. Opasnet 2010. Viitattu 24.11.2024.
Nettiajan kansalaisyhteiskunta
Sami Majaniemi: Nettiajan kansalaisyhteiskunta. Opasnet 2010. Viitattu 24.11.2024.
Opasnet-uskomusjärjestelmä
Jouni T. Tuomisto: Opasnet-uskomusjärjestelmä. Opasnet 2010. Viitattu 24.11.2024.
Opasnetin kehitystarpeita
Jouni T. Tuomisto: Opasnetin kehitystarpeita. Yhteistyömahdollisuuksien kartoitus. Opasnet 2010. Viitattu 24.11.2024.
Opasnetin käyttökoulutus
Jouni T. Tuomisto, Mikko Pohjola, Juha Villman: Opasnetin käyttökoulutus. Koulutustilaisuus. Opasnet 2010. Viitattu 24.11.2024.
Opastopian toimintaympäristö
Sami Majaniemi: Opastopian toimintaympäristö. Opasnet 2010. Viitattu 24.11.2024.
Postilaki
Jouni T. Tuomisto: Postilaki. Ehdotus parannuksesta. Opasnet 2010. Viitattu 24.11.2024.
Päättäjän tietomonopoli on murrettava
Jouni T. Tuomisto: Päättäjän tietomonopoli on murrettava. Pamfletti. Opasnet 2010. Viitattu 24.11.2024.
Radioaktiivisen säteilyn terveysvaikutukset Suomessa
Teemu Rintala, Noora Koponen, Minna-Mari Hämäläinen, Jouni T. Tuomisto: Radioaktiivisen säteilyn terveysvaikutukset Suomessa. Opasnet 2010. Viitattu 24.11.2024.
Seurakuntavaalit 2010
Jouni T. Tuomisto: Seurakuntavaalit 2010. Tutkimussuunnitelma. Opasnet 2010. Viitattu 24.11.2024.
Sikainfluenssa
Noora Koponen, Jouni T. Tuomisto: Sikainfluenssa. Luonnos arvioinniksi. Opasnet 2010. Viitattu 24.11.2024.
Sikainfluenssarokotteen terveyshaitat
Noora Koponen, Jouni T. Tuomisto: Sikainfluenssarokotteen terveyshaitat. Opasnet 2010. Viitattu 24.11.2024.
Suomalainen energiapolitiikka
Teemu Rintala, Noora Koponen, Matleena Tuomisto, Sami Majaniemi, Aino Paakkinen, Jouni T. Tuomisto: Suomalainen energiapolitiikka. Opasnet 2010. Viitattu 24.11.2024.
Suomalaiset ydinvoimalat
Teemu Rintala, Minna-Mari Hämäläinen, Noora Koponen, Jouni T. Tuomisto: Suomalaiset ydinvoimalat. Muuttuja. Opasnet 2010. Viitattu 24.11.2024.
Suomen energiantuotannon terveysvaikutusten arviointi
Teemu Rintala, Sami Majaniemi: Suomen energiantuotannon terveysvaikutusten arviointi. Opasnet 2010. Viitattu 24.11.2024.
Syövät työperäiset lukumäärä
Antti Karjalainen, Olli Leino: Syövät työperäiset lukumäärä. Opasnet 2010. Viitattu 24.11.2024.
Sähköinen sairauskertomus
Jouni T. Tuomisto: Sähköinen sairauskertomus. Opasnet 2010. Viitattu 24.11.2024.
THL:n kannanottoja ydinvoimasta
Matti Jantunen, Jouko Tuomisto, Raimo Salonen: THL:n kannanottoja ydinvoimasta. Opasnet 2010. Viitattu 24.11.2024.
Terveyden ja hyvinvoinnin ajatushautomo
Jouni T. Tuomisto, Sami Majaniemi: Terveyden ja hyvinvoinnin ajatushautomo. Opasnet 2010. Viitattu 24.11.2024.
Terveydenhuollon tietojärjestelmä
Jouni T. Tuomisto: Terveydenhuollon tietojärjestelmä. Alustava arviointi. Opasnet 2012. Viitattu 24.11.2024.
Tiede 2.0
Jouni T. Tuomisto: Tiede 2.0. Opasnet-muuttuja. Opasnet 2010. Viitattu 24.11.2024.
Tieteellis-poliittinen vallankumous
Jouni T. Tuomisto: Tieteellis-poliittinen vallankumous. Ajatelma. Opasnet 2010. Viitattu 24.11.2024.
Tieteen ja politiikan vuorovaikutusstrategiaMalline:Julkaisu.default
Tietoteknisiä ratkaisuja Opasnetissä
Jouni T. Tuomisto, Juha Villman: Tietoteknisiä ratkaisuja Opasnetissä. Opasnet 2010. Viitattu 24.11.2024.
Tietotyö
Jouni T. Tuomisto: Tietotyö. Opasnet 2010. Viitattu 24.11.2024.
Tutkimuslaitoksen tietopolitiikka
Jouni T. Tuomisto, Sami Majaniemi: Tutkimuslaitoksen tietopolitiikka. Opasnet 2010. Viitattu 24.11.2024.
Uutisraivaaja 2011
Sami Majaniemi: Uutisraivaaja 2011. Suunnitelma. Opasnet 2010. Viitattu 24.11.2024.
Valtion palkkausjärjestelmä
Jouni T. Tuomisto: Valtion palkkausjärjestelmä. Arviointi. Opasnet 2010. Viitattu 24.11.2024.
Verovähennyskortti
Jouni T. Tuomisto: Verovähennyskortti. Verojärjestelmän parannusehdotus. Opasnet 2010. Viitattu 24.11.2024.
Wikipuolue
Jouni T. Tuomisto: Wikipuolue. Opasnet 2010. Viitattu 24.11.2024.
YVA
Mikko Pohjola, Erkki Kuusisto, Jouni T. Tuomisto: YVA. Kommentteja YVA-lain arvioinnista. Opasnet 2010. Viitattu 24.11.2024.
Ydinvoimaan liittyvien riskien kokeminen Suomessa
Noora Koponen, Minna-Mari Hämäläinen, Matleena Tuomisto, Teemu Rintala, Aino Paakkinen, Sami Majaniemi, Jouni T. Tuomisto: Ydinvoimaan liittyvien riskien kokeminen Suomessa. Opasnet 2010. Viitattu 24.11.2024.
Ympäristömelun vaikutuslaskentatiedot Suomi
Erkki Kuusisto: Ympäristömelun vaikutuslaskentatiedot Suomi. Opasnet 2010. Viitattu 24.11.2024.
Ympäristön tupakansavu altistus Suomi
Otto Hänninen, Erkki Kuusisto, Olli Leino: Ympäristön tupakansavu altistus Suomi. Opasnet 2010. Viitattu 24.11.2024.
Ytrips OyMalline:Julkaisu.default
Tämä koodi tuottaa vain tapahtumalistauksen ilman yhteenvetoja.
Tämä tuottaa halutut yhteenvedot mutta ei tapahtumalistausta.
Lallaa kaunis päivä tänään
|
Eilen ei ollut
|
Oli ruma.
|
Liha
|
Sika
|
Lehmä
|
Kasvis
|
Soija
|
Papu
|
1
|
2
|
3
|
On kaksi muutakin hiekkalaatikkoa: Hiekkalaatikko2 ja Hiekkalaatikko 2
Eurooppa
Pohjois-Eurooppa
- Suomi
- Ruotsi
- Tanska
- Färsaaret
- pääsiäinen
- puput
- tiput
kukka
|
pallo
|
sää
|
ruumiinosa
|
ruusu
|
jalkapallo
|
sade
|
nenä
|
Hauki on kala. [1]
Suomi on Euroopan maa. [2]
Eurooppaan kuuluu useita maita. [2]
Viitteet
- ↑ www.wikipedia.org Wikipedian artikkeli
- ↑ 2,0 2,1 www.wikipedia.org Wikipedian artikkeli
Katso myös
moi