Ero sivun ”Väestön kohdekohtainen ympäristöperäisen haitta-ainealtistumisen ja terveysriskin arviointi” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Vaihtoehtokoodi: järjestystä paranneltu)
Rivi 312: Rivi 312:


<rcode name="answer" include="page:OpasnetBaseUtils|name:generic">
<rcode name="answer" include="page:OpasnetBaseUtils|name:generic">
cat("Ladataan funktioita. \n")


library(OpasnetBaseUtils)
library(OpasnetBaseUtils)
library(xtable)
library(xtable)
########################## 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.
# col.result    = the column that contains the actual values.
tf <- function(condition, ...) {
# Take the part of data that fits the condition. Drop all columns but col.common and col.result.
out <- data[data[col.condition] == condition, c(col.common, col.result)]
# Merge the selected data with all col.common and drop possible extra rows so that the outcome always has the same size.
out <- merge(unique(data[col.common]), out, all = TRUE)
out <- out[rownames(unique(out[col.common])), ]
return(out[, col.result])
}
#################### exposure is a function that calculates exposure based on environmental concentrations.
exposure <- function(C.air.outdoor, C.air.indoor, data, ...) {
Air.inh <- ((C.air.outdoor * (24 - tf("Ef.air.indoor") / 24)) + (C.air.indoor * tf("Ef.air.indoor") / 24) * tf("Ir.air")) / (tf("Bw") * tf("At"))
### TÄHÄN VÄLIIN LOPPUOSA LASKENNASTA ERI ALTISTUSREITEILLÄ
# Laskennan jälkeen lisätään yhteiset sarakkeet col.common ja pinotaan kaikki altistusreitit allekkain data.frameen.
common <- merge(unique(data[col.common]), data.frame(temp=1))[-(length(col.common)+1)]
#colnames(common) <- col.common
# Seuraavassa toistokerroin 2 on eri altistusreittien määrä.
out <- data.frame(common, Altistusreitti = rep(c("Inhalaatio", "Etc"), each = 2), Result = c(Air.inh, 0, 0))
return(out)
}
cat("Ladataan dataa. \n")


page <- "Op_fi2814"
page <- "Op_fi2814"
Rivi 333: Rivi 372:
data <- tidy(op_baseGetData("opasnet_base", page))
data <- tidy(op_baseGetData("opasnet_base", page))


########################## tf is a function that takes one large table, finds matching rows and produces a standard-format vector that can be operated with easily.
### Määritellään ulkoiset parametrit kyseisen taulukon muokkaamista varten.
# parameters: data      = a data frame that contains the data
#            condition  = a vector with conditions for each condition column. The length must be the same as ncol for the cols.
#            col.condition = vector with names of columns that contain the indices that must match in the data
#            col.result  = the column that contains the actual values.
tf <- function(condition, ...) {
 
# Take the part of data that fits the condition. Drop all columns but col.common and col.result.
out <- data[data[col.condition] == condition, c(col.common, col.result)]
# Merge the selected data with all col.common and drop possible extra rows to that the outcome always has the same size.
out <- merge(unique(data[col.common]), out, all = TRUE)
out <- out[rownames(unique(out[col.common])), ]
return(out[col.result])
}
 
col.common <- "Henkilö"
col.common <- "Henkilö"
col.result <- "Result"
col.result <- "Result"
 
col.condition = "Yksikkö" # Tämä on vain tilapäinen demonstraatio siitä että eri sarakkeita voi käyttää.
col.condition = "Yksikkö"
tf("vrk")
tf("vrk")


col.condition <- "Lyhenne"
col.condition <- "Lyhenne" # Varsinaisesti meitä kiinnostavat sarakkeen Lyhenne määrittämät asiat.
tf("Bw")
tf("Bw")
tf("Ir.air")
tf("Ir.air")
#################### exposure is a function that calculates exposure based on environmental concentrations.
exposure <- function(C.air.outdoor, C.air.indoor, data, ...) {
Air.inh <- ((C.air.outdoor * (24 - tf("Ef.air.indoor") / 24)) + (C.air.indoor * tf("Ef.air.indoor") / 24) * tf("Ir.air")) / (tf("Bw") * tf("At"))
### TÄHÄN VÄLIIN LOPPUOSA LASKENNASTA ERI ALTISTUSREITEILLÄ
# Laskennan jälkeen lisätään yhteiset sarakkeet col.common ja pinotaan kaikki altistusreitit allekkain.
common <- data.frame(unique(data[col.common]))
colnames(common) <- col.common
# Seuraavassa toistokerroin 2 on eri altistusreittien määrä.
out <- data.frame(common, Altistusreitti = rep(c("Inhalaatio", "Etc"), each = 2), Result = c(Air.inh[,], 0, 0))
return(out)
}


exposure(C.air.outdoor = 10, C.air.indoor = 50, data)
exposure(C.air.outdoor = 10, C.air.indoor = 50, data)

Versio 14. tammikuuta 2012 kello 19.36




Kysymys

Kuinka arvioidaan kohdekohtaisesti väestön ympäristöperäinen altistuminen haitta-aineelle sekä altistumisesta aiheutuva terveysriski?

Vastaus

Ennakolta määritellyt laskentaparametrit

Ero sivun ”Väestön kohdekohtainen ympäristöperäisen haitta-ainealtistumisen ja terveysriskin arviointi” versioiden välillä(useita)
ObsParametriLyhenneYksikköHenkilöArvo
1Altistumisperiodin pituusAtvrkAikuinen365
2Altistumisperiodin pituusAtvrkLapsi365
3Kehon painoBwkgAikuinen70
4Kehon painoBwkgLapsi15
5HengitystiheysIr.airm3/hAikuinen0.83
6HengitystiheysIr.airm3/hLapsi0.32
7Oleskeluaika sisätiloissa (keskiarvo altistumsperiodille)Ef.air.indoorh/vrkAikuinen22.86
8Oleskeluaika sisätiloissa (keskiarvo altistumsperiodille)Ef.air.indoorh/vrkLapsi21.14
9Juomaveden kulutusIr.dwl/vrkAikuinen0.7
10Juomaveden kulutusIr.dwl/vrkLapsi0.2
11Altistumistiheys, juomavesiEf.dwvrk/vuosiAikuinen365
12Altistumistiheys, juomavesiEf.dwvrk/vuosiLapsi365
13Niellyn maa-aineksen määräIr.soilmg/vrk/tonAikuinen50
14Niellyn maa-aineksen määräIr.soilmg/vrkLapsi150
15Maa-aineksen kiinnittyminen iholleSoil.ad.skinmg/cm2/vrkAikuinen0.25
16Maa-aineksen kiinnittyminen iholleSoil.ad.skinmg/cm2/vrkLapsi0.25
17Maa-ainekselle altistuvan ihon osuusF.skin.soilAikuinen0.05
18Maa-ainekselle altistuvan ihon osuusF.skin.soilLapsi0.2
19Altistumistiheys, maa-ainesEf.soilvrk/vuosiAikuinen255
20Altistumistiheys, maa-ainesEf.soilvrk/vuosiLapsi255
21Vihannesten kokonaiskulutus (keskiarvo altistumsperiodille)Ir.lfckg/vrkAikuinen0.110
22Vihannesten kokonaiskulutus (keskiarvo altistumsperiodille)Ir.lfckg/vrkLapsi0.055
23Juuresten kokonaiskulutus (keskiarvo altistumsperiodille)Ir.tfckg/vrkAikuinen0.200
24Juuresten kokonaiskulutus (keskiarvo altistumsperiodille)Ir.tfckg/vrkLapsi0.100
25Marjojen kokonaiskulutus (keskiarvo altistumsperiodille)Ir.berrieskg/vrkAikuinen0.044
26Marjojen kokonaiskulutus (keskiarvo altistumsperiodille)Ir.berrieskg/vrkLapsi0.035
27Paikallisten vihannesten osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.lfc.locAikuinen0.1
28Paikallisten vihannesten osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.lfc.locLapsi0.1
29Paikallisten juuresten osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.tfc.locAikuinen0.1
30Paikallisten juuresten osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.tfc.locLapsi0.1
31Paikallisten marjojen osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.berries.locAikuinen0.5
32Paikallisten marjojen osuus kokonaiskulutuksesta (keskiarvo altistumsperiodille)F.berries.locLapsi0.5
33Peseytymiseen kuluva aikaEd.bwh/vrkAikuinen0.25
34Peseytymiseen kuluva aikaEd.bwh/vrkLapsi0.25
35Altistumistiheys, pesuvesiEf.bwvrk/vuosiAikuinen365
36Altistumistiheys, pesuvesiEf.bwvrk/vuosiLapsi365
37Pesuvedelle altistuvan ihon osuusF.skin.bwAikuinen1
38Pesuvedelle altistuvan ihon osuusF.skin.bwLapsi1
39Uidessa niellyn pintaveden määräIr.swl/uintikertaAikuinen0.05
40Uidessa niellyn pintaveden määräIr.swl/uintikertaLapsi0.05
41Uintikerran kestoEd.swh/uintikertaAikuinen0.25
42Uintikerran kestoEd.swh/uintikertaLapsi0.25
43Altistumistiheys, pintavesiEf.swUintikerta/vuosiAikuinen30
44Altistumistiheys, pintavesiEf.swUintikerta/vuosiLapsi30
45Pintavedelle altistuvan ihon osuusF.skin.swAikuinen1
46Pintavedelle altistuvan ihon osuusF.skin.swLapsi1

Mallifunktio

+ Näytä koodi

Vaihtoehtokoodi

Tämä koodi käyttää funktiota haluttujen rivien slaissaamiseen.

+ Näytä koodi

Arvioinnin tulos

Haitta-aineen pitoisuus ulkoilmassa (µg/m3):

Haitta-aineen pitoisuus sisäilmassa (µg/m3):

Haitta-aineen pitoisuus juomavedessä (mg/l):

Haitta-aineen pitoisuus maaperässä (mg/kg):

Haitta-aineen pitoisuus vihanneksissa (mg/kg tuorepainoa):

Haitta-aineen pitoisuus juureksissa (mg/kg tuorepainoa):

Haitta-aineen pitoisuus marjoissa (mg/kg tuorepainoa):

Haitta-aineen pitoisuus pesuvedessä (mg/l):

Haitta-aineen pitoisuus pintavedessä (mg/l):

Turvallisen päivittäisen saannin viitearvo (µg/kg/d):

+ Näytä koodi