R-tools
Ajettu 24.01.2015 20:42:52+ Näytä viestit ja virheet- Piilota viestit ja virheet
Warning messages:
1: In sample.int(length(x), size, replace, prob) :
Walker's alias method used: results are different from R < 2.2.0
2: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
3: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
4: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
5: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
Warning messages:
1: In unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column Rivi : 1516, 98, 927, 1695, 1131, 2339, 498, 2860, 35, 554, 2546, 2371, 1634, 185, 1161, 1291, 766, 2297, 1940, 1498, 1244, 1043, 898, 1539, 292, 1081, 767, 210, 1591, 2113, 150, 2806, 1838, 2517, 1739, 2254, 1984, 551, 1365, 10, 1375, 1227, 1437, 16, 1223, 1820, 470, 2465, 1599, 2495, 955, 1051, 804, 2448, 2750, 915, 1555, 1943, 892, 271, 516, 851, 2273, 2461, 1902, 2029, 1153, 897, 2508, 649, 2670, 311, 43, 1777, 2251, 1016, 493, 1176, 2364, 1123, 183, 226, 1068, 1052, 1163, 1229, 1084, 2189, 2291, 1878, 1570, 337, 1791, 641, 1740, 896, 1362, 1456, 2849, 2766, 159, 1536, 1263, 2704, 904, 867, 1720, 201, 2535, 350, 1469, 976, 2725, 198, 14, 1677, 1035, 865, 1181, 2141, 2657, 1372, 2395, 824, 1146, 1934, 132, 995, 2365, 2880, 1947, 1225, 106, 482, 1990, 2045, 2640, 477, 2111, 1967, 877, 242, 1262, 117, 444, 1479, 1883, 2261, 1496, 2287, 1794, 996, 1424, 1598, 1442, 1832, 2412, 1040, 1763, 1134, 1155, 1280, 2722, 347, 771, 1126, 869, 1550, 2321, 48 [... truncated]
2: In unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column Ikä : 72, 57, 63, 64, 74, 2, 46, 4, 50, 52, 5, 6, 49, 53, 61, 10, 18, 75, 54, 68, 58, 56, 67, 45, 77, 3, 7, 60, 11, 0, 15, 70, 48, 55, 65, 17, 73, 62, 13, 19, 51, 14, 8, 79, 12, 47, 59, 71, 9, 1, 16, 69, 78, 66, 76, 22, 38, 34, 36, 29, 20, 28, 35, 39, 24, 42, 30, 40, 41, 26, 33, 44, 25, 31, 32, 43, 27, 23, 37, 21
Warning messages:
1: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Rivi : 1, 10, 1015, 1016, 1017, 1018, 1020, 1021, 1025, 1026, 1035, 1037, 1040, 1043, 1044, 1048, 1050, 1051, 1052, 1054, 1055, 106, 1064, 1067, 1068, 1071, 1081, 1084, 1088, 1095, 1098, 11, 1103, 1107, 1109, 1111, 1112, 1117, 1123, 1125, 1126, 1131, 1132, 1134, 1135, 1138, 1143, 1146, 1148, 1149, 1153, 1155, 1156, 1161, 1163, 1168, 117, 1170, 1175, 1176, 1179, 1181, 1186, 1190, 1193, 1195, 12, 1200, 1204, 1205, 1208, 1209, 1210, 1211, 1214, 1215, 1217, 1220, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1236, 124, 1244, 1245, 1246, 1258, 1261, 1262, 1263, 1266, 1268, 1269, 1271, 1273, 1277, 1280, 1289, 1290, 1291, 13, 1300, 1301, 1302, 1311, 1312, 132, 1320, 1326, 1328, 133, 1334, 1337, 1339, 1344, 1348, 135, 1354, 1357, 1358, 1360, 1362, 1365, 1367, 1372, 1373, 1375, 1380, 1382, 1390, 14, 1401, 1402, 1408, 1418, 1419, 1422, 1424, 1425, 1427, 1434, 1435, 1436, 1437, 1442, 1444, 1445, 1448, 1456, 1459, 1467, 1468, 1469, 147, 1470, 1471, 1472, 1475, 14 [... truncated]
2: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Ikä : 17, 54, 49, 77, 74, 64, 66, 71, 61, 62, 18, 60, 68, 65, 67, 45, 48, 79, 63, 19, 56, 58, 78, 53, 51, 59, 57, 46, 72, 75, 69, 70, 55, 52, 76, 50, 47, 16, 73, 11, 4, 14, 10, 3, 5, 7, 13, 12, 6, 1, 8, 9, 0, 2, 15, 28, 35, 22, 21, 23, 30, 44, 20, 31, 29, 39, 26, 24, 41, 36, 43, 27, 25, 32, 38, 40, 33, 37, 34, 42
3: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Arvo : 3-5, 6-10, Enemmän kuin 10, 1-2, En syö silakkaa ollenkaan, EOS
Warning message:
In unkeep(exposure, prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column concentrationSource : Data, NA
Warning messages:
1: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Response_metric : Change in IQ points, 1 if recommendation not met, Mortality, Prevalence, Incidence, Grade score, Yes/No according to "Developmental Defects of Enamel Index" , Morbidity, Tolerable daily intake
2: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_route : Placenta, Ingestion, Placenta and mother's milk
3: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_metric : Maternal MeHg concentration in hair, Daily intake, Maternal intake, Intake from fish, Intake of tuna/other fish, Ingestion, Intake
4: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_unit : ug /g, ug /d, mg /day, mg/day EPA+DHA, ≥3 times/week vs. <1/month, Each one serving per week, pg/d, kg d /pg, pg /kg /d
Warning messages:
1: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Response_metric : Change in IQ points, 1 if recommendation not met, Mortality, Arrythmia mortality, Prevalence, Incidence, Grade score, Yes/No according to "Developmental Defects of Enamel Index" , Morbidity, Tolerable daily intake
2: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_route : Placenta, Ingestion, Ingestion etc. (as it was in Seveso), Placenta and mother's milk
3: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_metric : Maternal MeHg concentration in hair, Maternal intake, Daily intake, Intake from fish, Intake of tuna/other fish, log(TCDD serum concentration+1), Ingestion, Intake
4: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_unit : ug /g, µg /kg /d, ug /d, mg/kg bw/day, mg /day, mg/day EPA+DHA, ≥3 times/week vs. <1/month, Each one serving per week, ng/kg in fat, log(pg/g in fat), pg/d, kg d /pg, pg /kg /d
Warning messages:
1: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Age : , >21, <14, <2, <3, 35-64, 20-64, 15-64
2: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Sex : , M, F
3: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Response_metric : Morbidity, Mortality, Arrythmia mortality, Lifetime probability
Warning messages:
1: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column Kuolemansyy : NA, 04-21 Syövät (C00-C97), 27 Iskeemiset sydäntaudit (I20-I25), 29 Aivoverisuonien sairaudet (I60-I69)
2: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column disincidenceSource : Data, NA
3: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column syySource : NA, Data
4: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column popSource : NA, Data
Warning messages:
1: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
2: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
3: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
Warning messages:
1: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
2: In oapply(population, NULL, sum, takeout) :
Zero length INDEX while oapplying. All columns except relevant Result removed.
+ Näytä koodi- Piilota koodi1: In sample.int(length(x), size, replace, prob) :
Walker's alias method used: results are different from R < 2.2.0
2: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
3: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
4: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
5: In data.frame(ehto[i, ], Iter = 1:get("N", envir = openv), Rivi = as.character(floor(as.numeric(rownames(temp)))), :
row names were found from a short variable and have been discarded
Warning messages:
1: In unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column Rivi : 1516, 98, 927, 1695, 1131, 2339, 498, 2860, 35, 554, 2546, 2371, 1634, 185, 1161, 1291, 766, 2297, 1940, 1498, 1244, 1043, 898, 1539, 292, 1081, 767, 210, 1591, 2113, 150, 2806, 1838, 2517, 1739, 2254, 1984, 551, 1365, 10, 1375, 1227, 1437, 16, 1223, 1820, 470, 2465, 1599, 2495, 955, 1051, 804, 2448, 2750, 915, 1555, 1943, 892, 271, 516, 851, 2273, 2461, 1902, 2029, 1153, 897, 2508, 649, 2670, 311, 43, 1777, 2251, 1016, 493, 1176, 2364, 1123, 183, 226, 1068, 1052, 1163, 1229, 1084, 2189, 2291, 1878, 1570, 337, 1791, 641, 1740, 896, 1362, 1456, 2849, 2766, 159, 1536, 1263, 2704, 904, 867, 1720, 201, 2535, 350, 1469, 976, 2725, 198, 14, 1677, 1035, 865, 1181, 2141, 2657, 1372, 2395, 824, 1146, 1934, 132, 995, 2365, 2880, 1947, 1225, 106, 482, 1990, 2045, 2640, 477, 2111, 1967, 877, 242, 1262, 117, 444, 1479, 1883, 2261, 1496, 2287, 1794, 996, 1424, 1598, 1442, 1832, 2412, 1040, 1763, 1134, 1155, 1280, 2722, 347, 771, 1126, 869, 1550, 2321, 48 [... truncated]
2: In unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column Ikä : 72, 57, 63, 64, 74, 2, 46, 4, 50, 52, 5, 6, 49, 53, 61, 10, 18, 75, 54, 68, 58, 56, 67, 45, 77, 3, 7, 60, 11, 0, 15, 70, 48, 55, 65, 17, 73, 62, 13, 19, 51, 14, 8, 79, 12, 47, 59, 71, 9, 1, 16, 69, 78, 66, 76, 22, 38, 34, 36, 29, 20, 28, 35, 39, 24, 42, 30, 40, 41, 26, 33, 44, 25, 31, 32, 43, 27, 23, 37, 21
Warning messages:
1: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Rivi : 1, 10, 1015, 1016, 1017, 1018, 1020, 1021, 1025, 1026, 1035, 1037, 1040, 1043, 1044, 1048, 1050, 1051, 1052, 1054, 1055, 106, 1064, 1067, 1068, 1071, 1081, 1084, 1088, 1095, 1098, 11, 1103, 1107, 1109, 1111, 1112, 1117, 1123, 1125, 1126, 1131, 1132, 1134, 1135, 1138, 1143, 1146, 1148, 1149, 1153, 1155, 1156, 1161, 1163, 1168, 117, 1170, 1175, 1176, 1179, 1181, 1186, 1190, 1193, 1195, 12, 1200, 1204, 1205, 1208, 1209, 1210, 1211, 1214, 1215, 1217, 1220, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1236, 124, 1244, 1245, 1246, 1258, 1261, 1262, 1263, 1266, 1268, 1269, 1271, 1273, 1277, 1280, 1289, 1290, 1291, 13, 1300, 1301, 1302, 1311, 1312, 132, 1320, 1326, 1328, 133, 1334, 1337, 1339, 1344, 1348, 135, 1354, 1357, 1358, 1360, 1362, 1365, 1367, 1372, 1373, 1375, 1380, 1382, 1390, 14, 1401, 1402, 1408, 1418, 1419, 1422, 1424, 1425, 1427, 1434, 1435, 1436, 1437, 1442, 1444, 1445, 1448, 1456, 1459, 1467, 1468, 1469, 147, 1470, 1471, 1472, 1475, 14 [... truncated]
2: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Ikä : 17, 54, 49, 77, 74, 64, 66, 71, 61, 62, 18, 60, 68, 65, 67, 45, 48, 79, 63, 19, 56, 58, 78, 53, 51, 59, 57, 46, 72, 75, 69, 70, 55, 52, 76, 50, 47, 16, 73, 11, 4, 14, 10, 3, 5, 7, 13, 12, 6, 1, 8, 9, 0, 2, 15, 28, 35, 22, 21, 23, 30, 44, 20, 31, 29, 39, 26, 24, 41, 36, 43, 27, 25, 32, 38, 40, 33, 37, 34, 42
3: In unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, :
There is >1 unique locations in column Arvo : 3-5, 6-10, Enemmän kuin 10, 1-2, En syö silakkaa ollenkaan, EOS
Warning message:
In unkeep(exposure, prevresults = TRUE, sources = TRUE) :
There is >1 unique locations in column concentrationSource : Data, NA
Warning messages:
1: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Response_metric : Change in IQ points, 1 if recommendation not met, Mortality, Prevalence, Incidence, Grade score, Yes/No according to "Developmental Defects of Enamel Index" , Morbidity, Tolerable daily intake
2: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_route : Placenta, Ingestion, Placenta and mother's milk
3: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_metric : Maternal MeHg concentration in hair, Daily intake, Maternal intake, Intake from fish, Intake of tuna/other fish, Ingestion, Intake
4: In unkeep(EvalOutput(ERF), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_unit : ug /g, ug /d, mg /day, mg/day EPA+DHA, ≥3 times/week vs. <1/month, Each one serving per week, pg/d, kg d /pg, pg /kg /d
Warning messages:
1: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Response_metric : Change in IQ points, 1 if recommendation not met, Mortality, Arrythmia mortality, Prevalence, Incidence, Grade score, Yes/No according to "Developmental Defects of Enamel Index" , Morbidity, Tolerable daily intake
2: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_route : Placenta, Ingestion, Ingestion etc. (as it was in Seveso), Placenta and mother's milk
3: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_metric : Maternal MeHg concentration in hair, Maternal intake, Daily intake, Intake from fish, Intake of tuna/other fish, log(TCDD serum concentration+1), Ingestion, Intake
4: In unkeep(EvalOutput(threshold), dropp, sources = TRUE) :
There is >1 unique locations in column Exposure_unit : ug /g, µg /kg /d, ug /d, mg/kg bw/day, mg /day, mg/day EPA+DHA, ≥3 times/week vs. <1/month, Each one serving per week, ng/kg in fat, log(pg/g in fat), pg/d, kg d /pg, pg /kg /d
Warning messages:
1: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Age : , >21, <14, <2, <3, 35-64, 20-64, 15-64
2: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Sex : , M, F
3: In unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", :
There is >1 unique locations in column Response_metric : Morbidity, Mortality, Arrythmia mortality, Lifetime probability
Warning messages:
1: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column Kuolemansyy : NA, 04-21 Syövät (C00-C97), 27 Iskeemiset sydäntaudit (I20-I25), 29 Aivoverisuonien sairaudet (I60-I69)
2: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column disincidenceSource : Data, NA
3: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column syySource : NA, Data
4: In unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, :
There is >1 unique locations in column popSource : NA, Data
Warning messages:
1: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
2: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
3: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
Warning messages:
1: In ComputeDependencies(variable@dependencies, fillna = fillna, indent = indent + :
Decision checking failed! Error: wrong arguments for subsetting an environment
2: In oapply(population, NULL, sum, takeout) :
Zero length INDEX while oapplying. All columns except relevant Result removed.
> wiki_username <- "Jouni"
> library(OpasnetUtils)
> library(ggplot2)
> library(reshape2)
> date()
> library(OpasnetUtils)
> library(ggplot2)
> library(reshape2)
> date()
[1] "Sat Jan 24 20:42:54 2015"
+ Näytä koodi- Piilota koodi> openv.setN(5000)
> ##########################################################################
> # KYSELYTIEDOT SILAKASTA
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++
> silakka <- opbase.data("Op_fi3831", subset = "Silakka") # [[:op_fi:Silakan hyöty-riskiarvio]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++
> ########## PREPROSESSOINTI
> silakka$Paino[silakka$Paino < 4 & silakka$Ikäryhmä == "Aikuinen"] <- 75 #Tehdään karkea inputointi aikuisten painoon
> silakka$Paino <- ifelse(silakka$Paino < 4 & silakka$Ikäryhmä == "Lapsi", 5+((60-5)/(15)*silakka$Ikä), silakka$Paino)
> # Lineaarinen ekstrapolaatio 5-60 kg
> colnames(silakka)[colnames(silakka) == "Nro"] <- "Rivi"
> levels(silakka$Result)[levels(silakka$Result) == "Ei syö silakkaa ollenkaan"] <- "En syö silakkaa ollenkaan"
> rannikko <- c(
+ "Uusimaa",
+ "Pohjanmaa",
+ "Kymenlaakso",
+ "Etelä-Pohjanmaa",
+ "Satakunta",
+ "Keski-Pohjanmaa",
+ "Pohjois-Pohjanmaa",
+ "Varsinais-Suomi"
+ )
> sisämaa <- c(
+ "Kanta-Häme",
+ "Pirkanmaa",
+ "Etelä-Karjala",
+ "Pohjois-Savo",
+ "Pohjois-Karjala",
+ "Etelä-Savo",
+ "Keski-Suomi",
+ "Päijät-Häme",
+ "Lappi",
+ "Kainuu"
+ )
> silakka$Rannikko <- ifelse(silakka$Maakunta %in% rannikko, "Rannikko", "Sisämaa")
> ages <- factor(c(
+ "0", "1-4", "5-9", "10-14", "15-19", "20-24",
+ "25-29", "30-34", "35-39", "40-44", "45-49", "50-54",
+ "55-59", "60-64", "65-69", "70-74", "75-79", "80-84",
+ "85-89", "90-94", "95-"), ordered = TRUE
+ )
> silakka$Age <- cut(silakka$Ikä, breaks = c(0,1,(1:20)*5), labels = ages, right = FALSE)
> silakka$Hedelm <- silakka$Ikä >= 20 & silakka$Ikä < 45 # Onko henkilö hedelmällisessä iässä?
> # lyhyt = lyhyt lista yksilökohtaisia määrittelyjä eli vain välttämättömät.
> lyhyt <- silakka[c("Age", "Ikä", "Hedelm", "Sukupuoli", "Rivi", "Maakunta")]
> kokoaik <- Ovariable("kokoaik", data = data.frame(
+ lyhyt,
+ Arvo = silakka$Result,
+ Result = silakka$Kokosilakka
+ )) # Kokonaisten silakoiden syönti kertaa/3 kk
> osanaik <- Ovariable("osanaik", data = data.frame(
+ lyhyt,
+ Result = silakka$Silakkaruoka
+ )) # Silakkaruokien syönti kertaa/3 kk
> lisuaik <- Ovariable("lisuaik", data = data.frame(
+ lyhyt,
+ Result = silakka$Silakkalisuke
+ )) # Silakkalisukkeiden syönti kertaa/3 kk
> ## Arvo yksi Iter jokaiselle kyselyn ihmiselle.
> iterit <- Ovariable("iterit", data = data.frame(
+ Iter = sample(get("N", envir = openv), nrow(silakka), replace = TRUE),
+ Rivi = rownames(silakka),
+ Result = 1
+ ))
> #### Arvo N riviä ehdot täyttävästä kyselyn osaryhmästä (tässä tapauksessa Hedelm+Sukupuoli-ryhmästä)
> ehto <- unique(silakka[c("Sukupuoli", "Hedelm")]) # , "Age")]) Säästetään muistia #, "Maakunta")]) Eiköhän painokerroin huolehdi maakunnan
> rivit <- data.frame()
> for(i in 1:nrow(ehto)) {
+ temp <- silakka[
+ silakka$Sukupuoli == ehto$Sukupuoli[i] & silakka$Hedelm == ehto$Hedelm[i] , # Jätetään tästäkin Age pois ja Hedelm tilalle
+ c("Sukupuoli", "Hedelm", "Painokerroin")
+ ] # Eikö tässä voisi yksinkertaistaa ja käyttää vain rivinumeroa eikä koko tempiä?
+ temp <- temp[sample(1:nrow(temp), get("N", envir = openv), replace = TRUE, prob = temp$Painokerroin) , ]
+ rivit <- rbind(rivit, data.frame(
+ ehto[i , ],
+ Iter = 1:get("N", envir = openv),
+ Rivi = as.character(floor(as.numeric(rownames(temp)))),
+ Result = 1
+ ))
+ }
> rivit <- Ovariable(output = rivit, marginal = c(TRUE, TRUE, TRUE, TRUE, FALSE))
> BW <- rivit * Ovariable("BW", data = data.frame(lyhyt, Result = silakka$Paino)) # Ruumiinpaino
> BW <- unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE)
> date()
> ##########################################################################
> # KYSELYTIEDOT SILAKASTA
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++
> silakka <- opbase.data("Op_fi3831", subset = "Silakka") # [[:op_fi:Silakan hyöty-riskiarvio]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++
> ########## PREPROSESSOINTI
> silakka$Paino[silakka$Paino < 4 & silakka$Ikäryhmä == "Aikuinen"] <- 75 #Tehdään karkea inputointi aikuisten painoon
> silakka$Paino <- ifelse(silakka$Paino < 4 & silakka$Ikäryhmä == "Lapsi", 5+((60-5)/(15)*silakka$Ikä), silakka$Paino)
> # Lineaarinen ekstrapolaatio 5-60 kg
> colnames(silakka)[colnames(silakka) == "Nro"] <- "Rivi"
> levels(silakka$Result)[levels(silakka$Result) == "Ei syö silakkaa ollenkaan"] <- "En syö silakkaa ollenkaan"
> rannikko <- c(
+ "Uusimaa",
+ "Pohjanmaa",
+ "Kymenlaakso",
+ "Etelä-Pohjanmaa",
+ "Satakunta",
+ "Keski-Pohjanmaa",
+ "Pohjois-Pohjanmaa",
+ "Varsinais-Suomi"
+ )
> sisämaa <- c(
+ "Kanta-Häme",
+ "Pirkanmaa",
+ "Etelä-Karjala",
+ "Pohjois-Savo",
+ "Pohjois-Karjala",
+ "Etelä-Savo",
+ "Keski-Suomi",
+ "Päijät-Häme",
+ "Lappi",
+ "Kainuu"
+ )
> silakka$Rannikko <- ifelse(silakka$Maakunta %in% rannikko, "Rannikko", "Sisämaa")
> ages <- factor(c(
+ "0", "1-4", "5-9", "10-14", "15-19", "20-24",
+ "25-29", "30-34", "35-39", "40-44", "45-49", "50-54",
+ "55-59", "60-64", "65-69", "70-74", "75-79", "80-84",
+ "85-89", "90-94", "95-"), ordered = TRUE
+ )
> silakka$Age <- cut(silakka$Ikä, breaks = c(0,1,(1:20)*5), labels = ages, right = FALSE)
> silakka$Hedelm <- silakka$Ikä >= 20 & silakka$Ikä < 45 # Onko henkilö hedelmällisessä iässä?
> # lyhyt = lyhyt lista yksilökohtaisia määrittelyjä eli vain välttämättömät.
> lyhyt <- silakka[c("Age", "Ikä", "Hedelm", "Sukupuoli", "Rivi", "Maakunta")]
> kokoaik <- Ovariable("kokoaik", data = data.frame(
+ lyhyt,
+ Arvo = silakka$Result,
+ Result = silakka$Kokosilakka
+ )) # Kokonaisten silakoiden syönti kertaa/3 kk
> osanaik <- Ovariable("osanaik", data = data.frame(
+ lyhyt,
+ Result = silakka$Silakkaruoka
+ )) # Silakkaruokien syönti kertaa/3 kk
> lisuaik <- Ovariable("lisuaik", data = data.frame(
+ lyhyt,
+ Result = silakka$Silakkalisuke
+ )) # Silakkalisukkeiden syönti kertaa/3 kk
> ## Arvo yksi Iter jokaiselle kyselyn ihmiselle.
> iterit <- Ovariable("iterit", data = data.frame(
+ Iter = sample(get("N", envir = openv), nrow(silakka), replace = TRUE),
+ Rivi = rownames(silakka),
+ Result = 1
+ ))
> #### Arvo N riviä ehdot täyttävästä kyselyn osaryhmästä (tässä tapauksessa Hedelm+Sukupuoli-ryhmästä)
> ehto <- unique(silakka[c("Sukupuoli", "Hedelm")]) # , "Age")]) Säästetään muistia #, "Maakunta")]) Eiköhän painokerroin huolehdi maakunnan
> rivit <- data.frame()
> for(i in 1:nrow(ehto)) {
+ temp <- silakka[
+ silakka$Sukupuoli == ehto$Sukupuoli[i] & silakka$Hedelm == ehto$Hedelm[i] , # Jätetään tästäkin Age pois ja Hedelm tilalle
+ c("Sukupuoli", "Hedelm", "Painokerroin")
+ ] # Eikö tässä voisi yksinkertaistaa ja käyttää vain rivinumeroa eikä koko tempiä?
+ temp <- temp[sample(1:nrow(temp), get("N", envir = openv), replace = TRUE, prob = temp$Painokerroin) , ]
+ rivit <- rbind(rivit, data.frame(
+ ehto[i , ],
+ Iter = 1:get("N", envir = openv),
+ Rivi = as.character(floor(as.numeric(rownames(temp)))),
+ Result = 1
+ ))
+ }
> rivit <- Ovariable(output = rivit, marginal = c(TRUE, TRUE, TRUE, TRUE, FALSE))
> BW <- rivit * Ovariable("BW", data = data.frame(lyhyt, Result = silakka$Paino)) # Ruumiinpaino
> BW <- unkeep(BW, cols = c("Rivi", "Ikä"), prevresults = TRUE, sources = TRUE)
> date()
[1] "Sat Jan 24 20:42:56 2015"
+ Näytä koodi- Piilota koodi> ######################################################################################
> # SILAKOIDEN ANNOSKOOT
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++
> solet <- opbase.data("Op_fi3831.saantioletukset") # Silakkaoletukset sivulta [[:op_fi:Silakan hyöty-riskiarvio]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++
> silakoita <- Ovariable("silakoita", data = solet[solet$Muuttuja == "V95" , c("Arvo", "Result")]) # Silakoita per silakka-annos
> silakanpaino <- Ovariable("silakanpaino", data = solet[solet$Muuttuja == "Koko silakan paino" , ]["Result"])
> raakaainepaino <- Ovariable("raakaainepaino", data = data.frame(
+ Age = ages,
+ Result = c(
+ rep(solet$Result[solet$Muuttuja == "Raaka-ainesilakan paino, lapset"], 4),
+ rep(solet$Result[solet$Muuttuja == "Raaka-ainesilakan paino"], 17)
+ )
+ ))
> lisukepaino <- Ovariable("lisukepaino", data = solet[solet$Muuttuja == "Lisukesilakan paino" , "Result", drop = FALSE])
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Silakkaruokia (kpl/3 kk)
> kouluruokailut <- Ovariable("kouluruokailut", data = data.frame(Result = "0;0;0.8;1.6"))
> # Silakka-annoksen koko (g)
> annos <- Ovariable("koulut", data = data.frame(Age = ages, Result = c(
+ 0,
+ "20; 39; 40; 50; 60; 70; 80; 80; 100; 100; 100",
+ "20; 39; 50; 65; 70; 70; 70; 80; 100; 120",
+ "20; 39; 50; 65; 70; 70; 70; 80; 100; 120",
+ "30; 39; 50; 80; 100; 110; 120; 120; 130; 160",
+ rep(0, 16)))
+ )
> # Syökö lapsi silakka-annoksensa vai ei?
> into <- Ovariable("into", data = data.frame(Age = ages, Result = c(
+ 0,
+ "1;1;1;1;1;1;1;1;1;1;0",
+ "1;1;1;1;0",
+ "1;1;1;1;0",
+ "1;1;1;1;1;1;1;0;0;0",
+ rep(0, 16)))
+ )
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++
> amount <- Ovariable("amount",
+ dependencies = data.frame(Name = c(
+ "kokoaik",
+ "silakoita",
+ "silakanpaino",
+ "osanaik",
+ "raakaainepaino",
+ "lisuaik",
+ "lisukepaino",
+ "kouluruokailut",
+ "annos",
+ "into"
+ )),
+ formula = function(...) {
+
+ out <- (kokoaik * silakoita * silakanpaino + osanaik * raakaainepaino + lisuaik * lisukepaino) / 91
+ # Per 3 kk -> per d
+
+ out <- out + kouluruokailut * annos * into / 91
+
+ result(out)[result(out) == 0] <- 0.01 # Ei jätetä nollia saantiin
+ return(out)
+ }
+ )
> ########### Luodaan regressiomalleja varten data.frame, jossa joka yksilö mutta Iterin odotusarvo.
> temp <- EvalOutput(amount, forceEval = TRUE, N = 200) # 200 iteraatiota riittää luotettavan odotusarvon laskemiseen.
> temp <- oapply(temp, INDEX = temp@output["Rivi"], FUN = mean)@output # Silakansyönnin odotusarvo jokaiselle.
> colnames(temp)[colnames(temp) == "amountResult"] <- "Silakkamäärä"
> silakka <- merge(silakka, temp)
> date()
> # SILAKOIDEN ANNOSKOOT
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++
> solet <- opbase.data("Op_fi3831.saantioletukset") # Silakkaoletukset sivulta [[:op_fi:Silakan hyöty-riskiarvio]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++
> silakoita <- Ovariable("silakoita", data = solet[solet$Muuttuja == "V95" , c("Arvo", "Result")]) # Silakoita per silakka-annos
> silakanpaino <- Ovariable("silakanpaino", data = solet[solet$Muuttuja == "Koko silakan paino" , ]["Result"])
> raakaainepaino <- Ovariable("raakaainepaino", data = data.frame(
+ Age = ages,
+ Result = c(
+ rep(solet$Result[solet$Muuttuja == "Raaka-ainesilakan paino, lapset"], 4),
+ rep(solet$Result[solet$Muuttuja == "Raaka-ainesilakan paino"], 17)
+ )
+ ))
> lisukepaino <- Ovariable("lisukepaino", data = solet[solet$Muuttuja == "Lisukesilakan paino" , "Result", drop = FALSE])
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Silakkaruokia (kpl/3 kk)
> kouluruokailut <- Ovariable("kouluruokailut", data = data.frame(Result = "0;0;0.8;1.6"))
> # Silakka-annoksen koko (g)
> annos <- Ovariable("koulut", data = data.frame(Age = ages, Result = c(
+ 0,
+ "20; 39; 40; 50; 60; 70; 80; 80; 100; 100; 100",
+ "20; 39; 50; 65; 70; 70; 70; 80; 100; 120",
+ "20; 39; 50; 65; 70; 70; 70; 80; 100; 120",
+ "30; 39; 50; 80; 100; 110; 120; 120; 130; 160",
+ rep(0, 16)))
+ )
> # Syökö lapsi silakka-annoksensa vai ei?
> into <- Ovariable("into", data = data.frame(Age = ages, Result = c(
+ 0,
+ "1;1;1;1;1;1;1;1;1;1;0",
+ "1;1;1;1;0",
+ "1;1;1;1;0",
+ "1;1;1;1;1;1;1;0;0;0",
+ rep(0, 16)))
+ )
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++
> amount <- Ovariable("amount",
+ dependencies = data.frame(Name = c(
+ "kokoaik",
+ "silakoita",
+ "silakanpaino",
+ "osanaik",
+ "raakaainepaino",
+ "lisuaik",
+ "lisukepaino",
+ "kouluruokailut",
+ "annos",
+ "into"
+ )),
+ formula = function(...) {
+
+ out <- (kokoaik * silakoita * silakanpaino + osanaik * raakaainepaino + lisuaik * lisukepaino) / 91
+ # Per 3 kk -> per d
+
+ out <- out + kouluruokailut * annos * into / 91
+
+ result(out)[result(out) == 0] <- 0.01 # Ei jätetä nollia saantiin
+ return(out)
+ }
+ )
> ########### Luodaan regressiomalleja varten data.frame, jossa joka yksilö mutta Iterin odotusarvo.
> temp <- EvalOutput(amount, forceEval = TRUE, N = 200) # 200 iteraatiota riittää luotettavan odotusarvon laskemiseen.
> temp <- oapply(temp, INDEX = temp@output["Rivi"], FUN = mean)@output # Silakansyönnin odotusarvo jokaiselle.
> colnames(temp)[colnames(temp) == "amountResult"] <- "Silakkamäärä"
> silakka <- merge(silakka, temp)
> date()
[1] "Sat Jan 24 20:44:56 2015"
+ Näytä koodi- Piilota koodi> ########## Luodaan vaikutusarviointimallia varten ovariable, jossa arvotut yksilöt
> riv <- rivit@output
> riv$Result <- NULL
> kokoaik@data <- merge(kokoaik@data, riv)
> osanaik@data <- merge(osanaik@data, riv)
> lisuaik@data <- merge(lisuaik@data, riv)
> amount <- EvalOutput(amount, forceEval = TRUE)
> # Muutetaan Age ja Maakunta epävarmaksi eli ei-marginaaliksi
> amount@marginal[colnames(amount@output) %in% c("Age", "Maakunta")] <- FALSE
> # Sukupuoli ja Hedelm pidetään indekseinä koska niiden mukaan arvottiin
> #### Luodaan Rajoita-päätös, joka toteutuessaan rajoittaa kaikkien silakansyönnin korkeintaan 3 g/d.
> amount <- amount * Ovariable("rajoitus", data = data.frame(Rajoita = c("Kyllä", "Ei"), Result = 1))
> amount <- unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, sources = TRUE)
> result(amount) <- ifelse(result(amount) > 3 & amount@output$Rajoita == "Kyllä", 3, result(amount))
> date()
> riv <- rivit@output
> riv$Result <- NULL
> kokoaik@data <- merge(kokoaik@data, riv)
> osanaik@data <- merge(osanaik@data, riv)
> lisuaik@data <- merge(lisuaik@data, riv)
> amount <- EvalOutput(amount, forceEval = TRUE)
> # Muutetaan Age ja Maakunta epävarmaksi eli ei-marginaaliksi
> amount@marginal[colnames(amount@output) %in% c("Age", "Maakunta")] <- FALSE
> # Sukupuoli ja Hedelm pidetään indekseinä koska niiden mukaan arvottiin
> #### Luodaan Rajoita-päätös, joka toteutuessaan rajoittaa kaikkien silakansyönnin korkeintaan 3 g/d.
> amount <- amount * Ovariable("rajoitus", data = data.frame(Rajoita = c("Kyllä", "Ei"), Result = 1))
> amount <- unkeep(amount, cols = c("Rivi", "Ikä", "Arvo"), prevresults = TRUE, sources = TRUE)
> result(amount) <- ifelse(result(amount) > 3 & amount@output$Rajoita == "Kyllä", 3, result(amount))
> date()
[1] "Sat Jan 24 20:45:04 2015"
+ Näytä koodi- Piilota koodi> #################################################################################
> # PITOISUUDET: PCDD/F, PCB, OMEGA3; JA MUUT TAPAUSKOHTAISET OVARIABLET
> arvonta <- function(x, measure.vars) {
+ out <- x[sample(1:nrow(x), get("N", envir = openv), replace = TRUE) , ]
+ out <- data.frame(Iter = 1:nrow(out), out)
+ out <- melt(
+ out,
+ measure.vars = measure.vars,
+ variable.name = "Exposure_agent",
+ value.name = "Result"
+ )
+ return(out)
+ }
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # PCDD/F ja PCB-pitoisuudet # pg /g f.w. nd = LOQ
> objects.get("x89WlgJlDLA02vnL") # PCDD/F-data table1
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pcdd <- table1[2:nrow(table1), c(2,3)] # Aika tiputetaan pois toistaiseksi tarpeettomana (2002, 2009 dataa)
> colnames(pcdd) <- c("PCDDF", "PCB")
> pcdd$PCDDF <- as.numeric(as.character(pcdd$PCDDF))
> pcdd$PCB <- as.numeric(as.character(pcdd$PCB))
> pcdd$TEQ <- pcdd$PCDDF + pcdd$PCB
> pcdd <- arvonta(pcdd, measure.vars = c("PCDDF", "PCB", "TEQ"))
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Hae pitoisuustiedot: D-vitamiini, EPA, DHA, Omega-3. D-vitamiini: ug /100 g, rasvahapot: mg /100 g
> objects.get("qhV9V72f9zLmXX50") # Ravintoainedata table
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ravinteet <- table[2:nrow(table), 3:6]
> colnames(ravinteet) <- c("Vitamin_D", "EPA", "DHA", "Omega3")
> ravinteet <- arvonta(ravinteet, measure.vars = c("Vitamin_D", "EPA", "DHA", "Omega3"))
> ravinteet$Result <- as.numeric(ravinteet$Result) / 100 # per 100 g -> per g
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> #### Pitoisuustiedot metyylielohopeasta (tarkemmin sanottuna tämä on kokonaiselohopea).
> objects.latest("Op_en4004", code_name = "initiate") # In mg /kg f.w. = ug /g f.w.
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> mehg <- concentration@data
> colnames(mehg)[3] <- "MeHg"
> mehg <- arvonta(mehg, "MeHg")
> mehg <- mehg[! colnames(mehg) %in% c("Age", "Size")]
> concentration <- Ovariable("concentration", data = rbind(ravinteet, pcdd, mehg))
> date()
> # PITOISUUDET: PCDD/F, PCB, OMEGA3; JA MUUT TAPAUSKOHTAISET OVARIABLET
> arvonta <- function(x, measure.vars) {
+ out <- x[sample(1:nrow(x), get("N", envir = openv), replace = TRUE) , ]
+ out <- data.frame(Iter = 1:nrow(out), out)
+ out <- melt(
+ out,
+ measure.vars = measure.vars,
+ variable.name = "Exposure_agent",
+ value.name = "Result"
+ )
+ return(out)
+ }
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # PCDD/F ja PCB-pitoisuudet # pg /g f.w. nd = LOQ
> objects.get("x89WlgJlDLA02vnL") # PCDD/F-data table1
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pcdd <- table1[2:nrow(table1), c(2,3)] # Aika tiputetaan pois toistaiseksi tarpeettomana (2002, 2009 dataa)
> colnames(pcdd) <- c("PCDDF", "PCB")
> pcdd$PCDDF <- as.numeric(as.character(pcdd$PCDDF))
> pcdd$PCB <- as.numeric(as.character(pcdd$PCB))
> pcdd$TEQ <- pcdd$PCDDF + pcdd$PCB
> pcdd <- arvonta(pcdd, measure.vars = c("PCDDF", "PCB", "TEQ"))
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Hae pitoisuustiedot: D-vitamiini, EPA, DHA, Omega-3. D-vitamiini: ug /100 g, rasvahapot: mg /100 g
> objects.get("qhV9V72f9zLmXX50") # Ravintoainedata table
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ravinteet <- table[2:nrow(table), 3:6]
> colnames(ravinteet) <- c("Vitamin_D", "EPA", "DHA", "Omega3")
> ravinteet <- arvonta(ravinteet, measure.vars = c("Vitamin_D", "EPA", "DHA", "Omega3"))
> ravinteet$Result <- as.numeric(ravinteet$Result) / 100 # per 100 g -> per g
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> #### Pitoisuustiedot metyylielohopeasta (tarkemmin sanottuna tämä on kokonaiselohopea).
> objects.latest("Op_en4004", code_name = "initiate") # In mg /kg f.w. = ug /g f.w.
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> mehg <- concentration@data
> colnames(mehg)[3] <- "MeHg"
> mehg <- arvonta(mehg, "MeHg")
> mehg <- mehg[! colnames(mehg) %in% c("Age", "Size")]
> concentration <- Ovariable("concentration", data = rbind(ravinteet, pcdd, mehg))
> date()
[1] "Sat Jan 24 20:45:06 2015"
+ Näytä koodi- Piilota koodi> ################ ALTISTUS
> exposure <- amount * concentration
> # temp <- oapply(exposure, INDEX = exposure@output[c("Sukupuoli", "Exposure_agent")], FUN = mean) # This is temporarily used
> # to calculate the background intake from Baltic herring of vitamin D and omega3.
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ## Tausta-altistus D-vitamiinille ja omega-3:lle
> addexposure <- EvalOutput(Ovariable("addexposure", ddata = "Op_fi3831.tausta_altistus"))
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Empty values ("") in indices must be replaced by NA so that Ops works correctly.
> levels(addexposure@output$Sukupuoli)[levels(addexposure@output$Sukupuoli) == ""] <- NA
> levels(addexposure@output$Exposure_agent)[levels(addexposure@output$Exposure_agent) == ""] <- NA
> addexposure@output <- fillna(addexposure@output, c("Sukupuoli", "Exposure_agent"))
> sumitem <- function(
+ ova, #ovariable that has locations to sum
+ cond, # index column that contains the locations to sum
+ condvalue, # vector of locations to sum
+ sumvalue # location to be given to the rows with the sums
+ ) {
+ d <- ova
+ d@output <- d@output[d@output[[cond]] %in% condvalue , ]
+ d <- oapply(d, cols = cond, FUN = sum)
+ d@output[[cond]] <- sumvalue
+ ova@output <- orbind(ova, d)
+ return(ova)
+ }
> addexposure <- sumitem(addexposure, "Exposure_agent", c("PCDDF", "PCB"), "TEQ")
> addexposure <- sumitem(addexposure, "Exposure_agent", c("EPA", "DHA"), "Omega3")
> addexposure <- unkeep(addexposure, prevresults = TRUE, sources = TRUE)
> # Make the background exposure uncertain rather than an index.
> taustat <- Ovariable(
+ output = data.frame(
+ Iter = 1:get("N", envir = openv),
+ Tausta = c("Kyllä", "Ei")[sample(2, get("N", envir = openv), replace = TRUE)],
+ Result = 1
+ ),
+ marginal = c(TRUE, FALSE, FALSE)
+ )
> addexposure <- addexposure * taustat
> exposure <- exposure + addexposure
> # Convert mother's dioxin intake (pg/d) into child's dioxin concentration (pg/g) in fat after 6 months of breast-feeding.
> # For details, see [[ERF of dioxin#Dental defects]]
> t0.5 <- Ovariable("t0.5", data = solet[solet$Muuttuja == "TEQ-puoliintumisaika" , ]["Result"])
> f_ing <- Ovariable("f_ing", data = solet[solet$Muuttuja == "TEQ-imeytymisosuus" , ]["Result"])
> f_mtoc <- Ovariable("f_mtoc", data = solet[solet$Muuttuja == "TEQ-osuus lapseen" , ]["Result"])
> BF <- Ovariable("BF", data = solet[solet$Muuttuja == "Imeväisen rasvamäärä" , ]["Result"])
> temp <- exposure
> temp@output <- temp@output[temp@output$Exposure_agent == "TEQ" , ]
> temp <- log((temp * t0.5 * f_ing * f_mtoc / (log(2) * BF) ) + 1) # Actual conversion
> temp@output$Exposure_agent <- "logTEQ"
> temp <- unkeep(temp, prevresults = TRUE, sources = TRUE)
> exposure@output <- orbind(exposure, temp)
> exposure <- unkeep(exposure, prevresults = TRUE, sources = TRUE)
> frexposed <- 1
> bgexposure <- addexposure
> date()
> exposure <- amount * concentration
> # temp <- oapply(exposure, INDEX = exposure@output[c("Sukupuoli", "Exposure_agent")], FUN = mean) # This is temporarily used
> # to calculate the background intake from Baltic herring of vitamin D and omega3.
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ## Tausta-altistus D-vitamiinille ja omega-3:lle
> addexposure <- EvalOutput(Ovariable("addexposure", ddata = "Op_fi3831.tausta_altistus"))
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> # Empty values ("") in indices must be replaced by NA so that Ops works correctly.
> levels(addexposure@output$Sukupuoli)[levels(addexposure@output$Sukupuoli) == ""] <- NA
> levels(addexposure@output$Exposure_agent)[levels(addexposure@output$Exposure_agent) == ""] <- NA
> addexposure@output <- fillna(addexposure@output, c("Sukupuoli", "Exposure_agent"))
> sumitem <- function(
+ ova, #ovariable that has locations to sum
+ cond, # index column that contains the locations to sum
+ condvalue, # vector of locations to sum
+ sumvalue # location to be given to the rows with the sums
+ ) {
+ d <- ova
+ d@output <- d@output[d@output[[cond]] %in% condvalue , ]
+ d <- oapply(d, cols = cond, FUN = sum)
+ d@output[[cond]] <- sumvalue
+ ova@output <- orbind(ova, d)
+ return(ova)
+ }
> addexposure <- sumitem(addexposure, "Exposure_agent", c("PCDDF", "PCB"), "TEQ")
> addexposure <- sumitem(addexposure, "Exposure_agent", c("EPA", "DHA"), "Omega3")
> addexposure <- unkeep(addexposure, prevresults = TRUE, sources = TRUE)
> # Make the background exposure uncertain rather than an index.
> taustat <- Ovariable(
+ output = data.frame(
+ Iter = 1:get("N", envir = openv),
+ Tausta = c("Kyllä", "Ei")[sample(2, get("N", envir = openv), replace = TRUE)],
+ Result = 1
+ ),
+ marginal = c(TRUE, FALSE, FALSE)
+ )
> addexposure <- addexposure * taustat
> exposure <- exposure + addexposure
> # Convert mother's dioxin intake (pg/d) into child's dioxin concentration (pg/g) in fat after 6 months of breast-feeding.
> # For details, see [[ERF of dioxin#Dental defects]]
> t0.5 <- Ovariable("t0.5", data = solet[solet$Muuttuja == "TEQ-puoliintumisaika" , ]["Result"])
> f_ing <- Ovariable("f_ing", data = solet[solet$Muuttuja == "TEQ-imeytymisosuus" , ]["Result"])
> f_mtoc <- Ovariable("f_mtoc", data = solet[solet$Muuttuja == "TEQ-osuus lapseen" , ]["Result"])
> BF <- Ovariable("BF", data = solet[solet$Muuttuja == "Imeväisen rasvamäärä" , ]["Result"])
> temp <- exposure
> temp@output <- temp@output[temp@output$Exposure_agent == "TEQ" , ]
> temp <- log((temp * t0.5 * f_ing * f_mtoc / (log(2) * BF) ) + 1) # Actual conversion
> temp@output$Exposure_agent <- "logTEQ"
> temp <- unkeep(temp, prevresults = TRUE, sources = TRUE)
> exposure@output <- orbind(exposure, temp)
> exposure <- unkeep(exposure, prevresults = TRUE, sources = TRUE)
> frexposed <- 1
> bgexposure <- addexposure
> date()
[1] "Sat Jan 24 20:45:16 2015"
+ Näytä koodi- Piilota koodi> ######################################################### VÄESTÖ
> # Tarkastellaan totcases-laskennassa aluksi yksilöriskiä, ja vasta lopussa kerrotaan yksilötulokset yksilöiden edustamien ryhmien koolla.
> population <- Ovariable("population", data = data.frame(Result = 1))
> # Väkimäärä. TÄTÄ KÄYTETÄÄN disincidence-ovariablen suhteuttamisessa CHD:n suhteen.
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pop <- opbase.data("Op_en2949") # [[Population of Finland]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pop$Obs <- NULL
> pop$Observation <- NULL
> age <- pop$Result[pop$Age == "0-4"]
> pop$Result[pop$Age == "0-4"] <- 4/5 * age
> pop <- orbind(pop, data.frame(Age = "0", Result = 1/5 * age))
> levels(pop$Age)[levels(pop$Age) == "0-4"] <- "1-4"
> pop <- Ovariable("pop", data = pop)
> date()
> # Tarkastellaan totcases-laskennassa aluksi yksilöriskiä, ja vasta lopussa kerrotaan yksilötulokset yksilöiden edustamien ryhmien koolla.
> population <- Ovariable("population", data = data.frame(Result = 1))
> # Väkimäärä. TÄTÄ KÄYTETÄÄN disincidence-ovariablen suhteuttamisessa CHD:n suhteen.
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pop <- opbase.data("Op_en2949") # [[Population of Finland]]
> #ii+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> pop$Obs <- NULL
> pop$Observation <- NULL
> age <- pop$Result[pop$Age == "0-4"]
> pop$Result[pop$Age == "0-4"] <- 4/5 * age
> pop <- orbind(pop, data.frame(Age = "0", Result = 1/5 * age))
> levels(pop$Age)[levels(pop$Age) == "0-4"] <- "1-4"
> pop <- Ovariable("pop", data = pop)
> date()
[1] "Sat Jan 24 20:45:16 2015"
+ Näytä koodi- Piilota koodi> ###############################################################################################
> # ANNOSVASTEET JA TAUTIRISKIT
> # dioksiinille,
> # omega-3-rasvahapoille,
> # vitamiineille (D-vitamiinille)
> # ja metyylielohopealle ja niiden vaikutuksille
> # Kuitenkaan metyylielohopeapitoisuuksia ei ole tässä malliversiossa, joten ne tippuvat pois.
> # Annosvasteet
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5823", code_name = "initiate") # [[ERF of dioxin]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1 <- ERF
> temp2 <- threshold
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5830", code_name = "initiate") # [[ERF of omega-3 fatty acids]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1@data <- orbind(ERF@data, temp1@data)
> temp2@data <- orbind(threshold@data, temp2@data)
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en6866", code_name = "initiate") # [[ERFs of vitamins]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1@data <- orbind(ERF@data, temp1@data)
> temp2@data <- orbind(threshold@data, temp2@data)
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5825", code_name = "initiate") # [[ERF of methylmercury]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> ERF@data <- orbind(ERF@data, temp1@data)
> threshold@data <- orbind(threshold@data, temp2@data)
> # Drop ERF rows that are not used in this assessment.
> erfpois <- paste(ERF@data$Exposure_agent, ERF@data$Trait, ERF@data$ERF_parameter, ERF@data$Scaling) %in%
+ c(
+ "MeHg Child's IQ ERS BW",
+ "DHA Child's intelligence ERS BW",
+ "Omega3 Coronary heart disease RR None",
+ "Omega3 CHD Relative Hill None",
+ "logTEQ Developmental dental defects incl. agenesis ERS None",
+ "TEQ Cancer, total CSF BW",
+ "logTEQ Tooth defect ERS None" # Poistetaan Seveso koska suomalainen ERF uskottavampi
+ )
> ERF@data <- ERF@data[!erfpois , ]
> # Drop nuisance indices because they use a lot of memory in oapply.
> dropp <- c("Response_metric", "Exposure_route", "Exposure_metric", "Exposure_unit")
> ERF <- unkeep(EvalOutput(ERF), dropp, sources = TRUE)
> threshold <- unkeep(EvalOutput(threshold), dropp, sources = TRUE)
> ######################################## Tautiriski
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5917", code_name = "initiate") # [[:op_en:Disease risk]] ovariable disincidence
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> disincidence <- disincidence / 100000 # Change from 1/100000py to 1/py.
> disincidence <- unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", "Response_metric"))
> # Näitä indeksejä ei tarvita tässä arvioinnissa.
> disincidence@output <- disincidence@output[disincidence@output$Trait != "CHD" , ] # Tulee ikävakioidusta alta.
> ############################################################################
> # Ikävakioidut kuolemansyyt
> # Sairastuvuus (tarkemmin sanottuna [[Kuolemansyyt Suomessa]])
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++
> syy <- Ovariable("syy", data = opbase.data("Op_fi4558", subset = "2012",
+ include = list(Kuolemansyy = c(
+ "04-21 Syövät (C00-C97)",
+ "27 Iskeemiset sydäntaudit (I20-I25)",
+ "29 Aivoverisuonien sairaudet (I60-I69)"
+ ))))
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++
> syy@data$Ikä <- gsub(" ", "", syy@data$Ikä)
> colnames(syy@data)[colnames(syy@data) == "Ikä"] <- "Age"
> # Syöpää ei haluta linkata ikäryhmittäin ERF:iin, vaan sitä käytetään muodostamaan diskontattu elinaikainen
> # odotettu eliniän menetys jos kuolee syöpään tietyn ikäisenä. Ks. myöhemmin.
> väli <- Ovariable(output = data.frame(
+ Kuolemansyy = c(
+ rep("27 Iskeemiset sydäntaudit (I20-I25)", 2),
+ "04-21 Syövät (C00-C97)",
+ "29 Aivoverisuonien sairaudet (I60-I69)"
+ ),
+ Trait = c("CHD", "CHD2", "Syövät", "Stroke"), # Syövät nimetään hassusti, koska sen EI haluta linkkautuvan ERF:iin.
+ # Lisäksi Tehdään kaksinkertainen sydäntaululistaus, koska on kaksi ERFiä: Mozaffarian ja Cohen.
+ Result = 1
+ ))
> syyt <- syy / (pop / 2) * väli # Pop ei ole sukupuolen mukaan jaoteltu mutta syy on, joten pistetään kahtia.
> marginals <- union(colnames(syyt@output)[syyt@marginal], colnames(disincidence@output)[disincidence@marginal])
> syyt@output <- orbind(disincidence, syyt)
> syyt@marginal <- colnames(syyt@output) %in% marginals
> syyt <- unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, sources = TRUE)
> syyt@output$Sukupuoli[syyt@output$Sukupuoli == "Miehet"] <- "Mies" # Ei ole faktori vaan character
> syyt@output$Sukupuoli[syyt@output$Sukupuoli == "Naiset"] <- "Nainen"
> disincidence <- syyt # Nyt sisältää sekä alkuperäisen disincidencen että ikäluokittaisen CHD:n
> date()
> # ANNOSVASTEET JA TAUTIRISKIT
> # dioksiinille,
> # omega-3-rasvahapoille,
> # vitamiineille (D-vitamiinille)
> # ja metyylielohopealle ja niiden vaikutuksille
> # Kuitenkaan metyylielohopeapitoisuuksia ei ole tässä malliversiossa, joten ne tippuvat pois.
> # Annosvasteet
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5823", code_name = "initiate") # [[ERF of dioxin]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1 <- ERF
> temp2 <- threshold
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5830", code_name = "initiate") # [[ERF of omega-3 fatty acids]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1@data <- orbind(ERF@data, temp1@data)
> temp2@data <- orbind(threshold@data, temp2@data)
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en6866", code_name = "initiate") # [[ERFs of vitamins]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> temp1@data <- orbind(ERF@data, temp1@data)
> temp2@data <- orbind(threshold@data, temp2@data)
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5825", code_name = "initiate") # [[ERF of methylmercury]], ovariables ERF, threshold
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> ERF@data <- orbind(ERF@data, temp1@data)
> threshold@data <- orbind(threshold@data, temp2@data)
> # Drop ERF rows that are not used in this assessment.
> erfpois <- paste(ERF@data$Exposure_agent, ERF@data$Trait, ERF@data$ERF_parameter, ERF@data$Scaling) %in%
+ c(
+ "MeHg Child's IQ ERS BW",
+ "DHA Child's intelligence ERS BW",
+ "Omega3 Coronary heart disease RR None",
+ "Omega3 CHD Relative Hill None",
+ "logTEQ Developmental dental defects incl. agenesis ERS None",
+ "TEQ Cancer, total CSF BW",
+ "logTEQ Tooth defect ERS None" # Poistetaan Seveso koska suomalainen ERF uskottavampi
+ )
> ERF@data <- ERF@data[!erfpois , ]
> # Drop nuisance indices because they use a lot of memory in oapply.
> dropp <- c("Response_metric", "Exposure_route", "Exposure_metric", "Exposure_unit")
> ERF <- unkeep(EvalOutput(ERF), dropp, sources = TRUE)
> threshold <- unkeep(EvalOutput(threshold), dropp, sources = TRUE)
> ######################################## Tautiriski
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en5917", code_name = "initiate") # [[:op_en:Disease risk]] ovariable disincidence
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> disincidence <- disincidence / 100000 # Change from 1/100000py to 1/py.
> disincidence <- unkeep(disincidence, cols = c("Age", "Sex", "Population", "Unit", "Response_metric"))
> # Näitä indeksejä ei tarvita tässä arvioinnissa.
> disincidence@output <- disincidence@output[disincidence@output$Trait != "CHD" , ] # Tulee ikävakioidusta alta.
> ############################################################################
> # Ikävakioidut kuolemansyyt
> # Sairastuvuus (tarkemmin sanottuna [[Kuolemansyyt Suomessa]])
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++++
> syy <- Ovariable("syy", data = opbase.data("Op_fi4558", subset = "2012",
+ include = list(Kuolemansyy = c(
+ "04-21 Syövät (C00-C97)",
+ "27 Iskeemiset sydäntaudit (I20-I25)",
+ "29 Aivoverisuonien sairaudet (I60-I69)"
+ ))))
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++++
> syy@data$Ikä <- gsub(" ", "", syy@data$Ikä)
> colnames(syy@data)[colnames(syy@data) == "Ikä"] <- "Age"
> # Syöpää ei haluta linkata ikäryhmittäin ERF:iin, vaan sitä käytetään muodostamaan diskontattu elinaikainen
> # odotettu eliniän menetys jos kuolee syöpään tietyn ikäisenä. Ks. myöhemmin.
> väli <- Ovariable(output = data.frame(
+ Kuolemansyy = c(
+ rep("27 Iskeemiset sydäntaudit (I20-I25)", 2),
+ "04-21 Syövät (C00-C97)",
+ "29 Aivoverisuonien sairaudet (I60-I69)"
+ ),
+ Trait = c("CHD", "CHD2", "Syövät", "Stroke"), # Syövät nimetään hassusti, koska sen EI haluta linkkautuvan ERF:iin.
+ # Lisäksi Tehdään kaksinkertainen sydäntaululistaus, koska on kaksi ERFiä: Mozaffarian ja Cohen.
+ Result = 1
+ ))
> syyt <- syy / (pop / 2) * väli # Pop ei ole sukupuolen mukaan jaoteltu mutta syy on, joten pistetään kahtia.
> marginals <- union(colnames(syyt@output)[syyt@marginal], colnames(disincidence@output)[disincidence@marginal])
> syyt@output <- orbind(disincidence, syyt)
> syyt@marginal <- colnames(syyt@output) %in% marginals
> syyt <- unkeep(syyt, cols = c("Kuolemansyy", "Observation"), prevresults = TRUE, sources = TRUE)
> syyt@output$Sukupuoli[syyt@output$Sukupuoli == "Miehet"] <- "Mies" # Ei ole faktori vaan character
> syyt@output$Sukupuoli[syyt@output$Sukupuoli == "Naiset"] <- "Nainen"
> disincidence <- syyt # Nyt sisältää sekä alkuperäisen disincidencen että ikäluokittaisen CHD:n
> date()
[1] "Sat Jan 24 20:45:26 2015"
+ Näytä koodi- Piilota koodi> ###################################################################################
> #### HIA-ovariablet
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en2261", code_name = "initiate") # [[:op_en:Health impact assessment]] ovariables dose, RR, totcases (AF)
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> dose <- unkeep(EvalOutput(dose), prevresults = TRUE, sources = TRUE)
> RR <- unkeep(EvalOutput(RR), prevresults = TRUE, sources = TRUE)
> totcases <- EvalOutput(totcases)
> date()
> #### HIA-ovariablet
> #!!++++++++++++++++++++++++++++++++++++++++++++++++++
> objects.latest("Op_en2261", code_name = "initiate") # [[:op_en:Health impact assessment]] ovariables dose, RR, totcases (AF)
> #ii++++++++++++++++++++++++++++++++++++++++++++++++++
> dose <- unkeep(EvalOutput(dose), prevresults = TRUE, sources = TRUE)
> RR <- unkeep(EvalOutput(RR), prevresults = TRUE, sources = TRUE)
> totcases <- EvalOutput(totcases)
> date()
[1] "Sat Jan 24 21:01:33 2015"
+ Näytä koodi- Piilota koodi> ##################################################################################
> # Tapauskohtaiset postprosessoinnit
> ### Muutetaan exposure yksikköön g /d kaikkien Exposure_agentien osalta.
> skaala <- Ovariable(
+ output = data.frame(
+ Exposure_unit = "g /d",
+ Exposure_agent = c("Vitamin_D", "EPA", "DHA", "Omega3", "PCDDF", "PCB", "TEQ", "MeHg"),
+ Result = c(1E-6, 1E-3, 1E-3, 1E-3, 1E-12, 1E-12, 1E-12, 1E-6)),
+ marginal = c(FALSE, TRUE, FALSE)
+ )
> tiedot <- rivit * taustat * Ovariable(
+ output = data.frame(
+ silakka[c("Rivi", "Sukupuoli", "Age", "Hedelm", "Ikä", "Paino", "Silakkamäärä")],
+ Result = 1
+ ),
+ marginal = c(FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)
+ )
> tiedot <- unkeep(tiedot, cols = "Rivi", prevresults = TRUE, sources = TRUE)
> date()
> # Tapauskohtaiset postprosessoinnit
> ### Muutetaan exposure yksikköön g /d kaikkien Exposure_agentien osalta.
> skaala <- Ovariable(
+ output = data.frame(
+ Exposure_unit = "g /d",
+ Exposure_agent = c("Vitamin_D", "EPA", "DHA", "Omega3", "PCDDF", "PCB", "TEQ", "MeHg"),
+ Result = c(1E-6, 1E-3, 1E-3, 1E-3, 1E-12, 1E-12, 1E-12, 1E-6)),
+ marginal = c(FALSE, TRUE, FALSE)
+ )
> tiedot <- rivit * taustat * Ovariable(
+ output = data.frame(
+ silakka[c("Rivi", "Sukupuoli", "Age", "Hedelm", "Ikä", "Paino", "Silakkamäärä")],
+ Result = 1
+ ),
+ marginal = c(FALSE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)
+ )
> tiedot <- unkeep(tiedot, cols = "Rivi", prevresults = TRUE, sources = TRUE)
> date()
[1] "Sat Jan 24 21:01:33 2015"
+ Näytä koodi- Piilota koodi> exposure <- exposure * skaala * tiedot
> amount <- amount * tiedot
> concentration <- unkeep(concentration, prevresults = TRUE, sources = TRUE) * skaala
> #Etsitään hedelmällisessä iässä olevat naiset ja lasten ÄO-vaste ja korjataan synnytyksen todennäköisyydellä.
> indivrisk <- totcases
> indivrisk <- indivrisk * tiedot
> result(indivrisk) <- result(indivrisk) * ifelse(
+ indivrisk@output$Trait %in% c("Child's IQ", "Tooth defect", "Dental defect"),
+ ifelse(
+ indivrisk@output$Sukupuoli == "Nainen" & indivrisk@output$Hedelm == "TRUE",
+ 0.1, # Probability of birth during a year.
+ 0
+ ),
+ 1
+ )
> #ages <- c(
> # "0", "1-4", "5-9", "10-14", "15-19", "20-24",
> # "25-29", "30-34", "35-39", "40-44", "45-49", "50-54",
> # "55-59", "60-64", "65-69", "70-74", "75-79"
> #)
> indivrisk@output$Age <- factor(indivrisk@output$Age, levels = ages, ordered = TRUE)
> indivrisk@output$Iter <- as.numeric(as.character(indivrisk@output$Iter))
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++
> objects.store(indivrisk, pop, exposure, amount, ERF, threshold, silakka, disincidence, concentration, rivit)
> amount <- amount * tiedot
> concentration <- unkeep(concentration, prevresults = TRUE, sources = TRUE) * skaala
> #Etsitään hedelmällisessä iässä olevat naiset ja lasten ÄO-vaste ja korjataan synnytyksen todennäköisyydellä.
> indivrisk <- totcases
> indivrisk <- indivrisk * tiedot
> result(indivrisk) <- result(indivrisk) * ifelse(
+ indivrisk@output$Trait %in% c("Child's IQ", "Tooth defect", "Dental defect"),
+ ifelse(
+ indivrisk@output$Sukupuoli == "Nainen" & indivrisk@output$Hedelm == "TRUE",
+ 0.1, # Probability of birth during a year.
+ 0
+ ),
+ 1
+ )
> #ages <- c(
> # "0", "1-4", "5-9", "10-14", "15-19", "20-24",
> # "25-29", "30-34", "35-39", "40-44", "45-49", "50-54",
> # "55-59", "60-64", "65-69", "70-74", "75-79"
> #)
> indivrisk@output$Age <- factor(indivrisk@output$Age, levels = ages, ordered = TRUE)
> indivrisk@output$Iter <- as.numeric(as.character(indivrisk@output$Iter))
> #!!+++++++++++++++++++++++++++++++++++++++++++++++++
> objects.store(indivrisk, pop, exposure, amount, ERF, threshold, silakka, disincidence, concentration, rivit)
[1] "142212610725"
+ Näytä koodi- Piilota koodi> #ii+++++++++++++++++++++++++++++++++++++++++++++++++
> cat("indivrisk, pop, exposure, amount, ERF, threshold, silakka, disincidence, concentration, rivit stored. \n")
> cat("indivrisk, pop, exposure, amount, ERF, threshold, silakka, disincidence, concentration, rivit stored. \n")
indivrisk, pop, exposure, amount, ERF, threshold, silakka, disincidence, concentration, rivit stored.
+ Näytä koodi- Piilota koodi> date()
[1] "Sat Jan 24 21:01:49 2015"
Ajo suoritettu ajassa 0h 18m 57s
Noudettu kohteesta http://fi.opasnet.org/fi/Toiminnot:RTools