Goherr: Fish consumption study
[show] |
---|
Moderator:Arja (see all) |
This page is a stub. You may improve it into a full page. |
Upload data
|
Contents
Question
How Baltic herring and salmon are used as human food in Baltic sea countries? Which determinants affect on people’s eating habits of these fish species?
Answer
Survey data will be analysed during winter 2016-2017 and results will be updated here.
library(OpasnetUtils) library(ggplot2) library(reshape2) objects.latest("Op_en7749", "preprocess") for(i in c(5:6, 16, 29:30, 46:49, 85:86, 95:98, 135)) { temp <- survey[!is.na(survey[[i]]),] p <- ggplot(temp, aes(x = temp[[i]])) + geom_bar() + theme_gray(base_size = 18) + theme(axis.text.x=element_text(angle=90,hjust=1,vjust=0.4)) + labs(title = colnames(temp[i])) + xlab("") + facet_wrap(~ Country) print(p) } temp <- melt(survey, measure.vars = 145:153, variable.name = "Changing.factor", value.name = "Impact") levs <- c("-5 strongly disagree", "-4", "-3", "-2", "-1", "0 Neutral", "1", "2", "3", "4", "5 strongly agree", "I don't know") temp$Impact <- factor(temp$Impact, levels = levs, labels = levs, ordered = TRUE) ggplot(temp, aes(x = Impact, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Changing.factor)+ theme_gray(base_size = 24) + theme(axis.text.x=element_text(angle=90,hjust=1,vjust=0.4)) surveytemp <- subset(survey, survey[[31]] == "Yes") temp <- melt(surveytemp, measure.vars = 38:43, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Baltic salmon sources") temp <- melt(surveytemp, measure.vars = 50:59, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Reasons to eat Baltic salmon") temp <- melt(surveytemp, measure.vars = 73:82, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + theme(axis.text.x=element_text(angle=90,hjust=1,vjust=0.4)) + labs(title = "Baltic salmon actions") surveytemp <- subset(survey, survey[[31]] == "No") temp <- melt(surveytemp, measure.vars = 62:70, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Reasons not to eat Baltic salmon") surveytemp <- subset(survey, survey[[86]] == "Yes") temp <- melt(surveytemp, measure.vars = 87:92, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Baltic herring sources") temp <- melt(surveytemp, measure.vars = 99:108, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Reasons to eat Baltic herring") temp <- melt(surveytemp, measure.vars = 123:132, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + theme(axis.text.x=element_text(angle=90,hjust=1,vjust=0.4)) + labs(title = "Baltic herring actions") surveytemp <- subset(survey, survey[[86]] == "No") temp <- melt(surveytemp, measure.vars = 111:120, variable.name = "Variable", value.name = "Value") ggplot(temp, aes(x = Value, fill = Country)) + geom_histogram(position = "dodge") + facet_wrap(~ Variable)+ theme_gray(base_size = 24) + labs(title = "Reasons not to eat Baltic herring") |
Rationale
Survey of eating habits of Baltic herring and salmon in Denmark, Estonia, Finland and Sweden has been done in September 2016 by Taloustutkimus oy. Content of the questionnaire can be accessed in Google drive. The actual data will be uploaded to Opasnet base on Octobere 2016.
The R-code to analyse the survey data will be provided on this page later on.
Data
Original datafile File:Goherr fish consumption.csv
Preprocessing
This code is used to preprocess the original questionnaire data from the above .csv file and to store the data as a usable variable to Opasnet base.
library(OpasnetUtils) ############## Generic functions and objects are defined first. ### webropol.convert converts a csv file from Webropol into a useful data.frame. webropol.convert <- function( data, # Data.frame created from a Webropol csv file. The first row should contain headings. rowfact, # Row number where the factor levels start (in practice, last row + 3) textmark = "Other open" # The text that is shown in the heading if there is an open sub-question. ) { out <- dropall(data[2:(rowfact - 3) , ]) subquestion <- t(data[1 , ]) subquestion <- gsub("\xa0", " ", subquestion) subquestion <- gsub("\xb4", " ", subquestion) subquestion <- gsub("\n", " ", subquestion) # subquestion <- gsub("\\(", " ", subquestion) # subquestion <- gsub("\\)", " ", subquestion) textfield <- regexpr(textmark, subquestion) != -1 subquestion <- strsplit(subquestion, ":") # Divide the heading into a main question and a subquestion. subqtest <- 0 # The previous question name. for(i in 1:ncol(out)) { #print(i) if(subquestion[[i]][1] != subqtest) { # If part of previous question, use previous fact. fact <- as.character(data[rowfact:nrow(data) , i]) # Create factor levels from the end of Webropol file. fact <- fact[fact != ""] # Remove empty rows fact <- gsub("\xa0", " ", fact) fact <- gsub("\xb4", " ", fact) fact <- gsub("\n", " ", fact) fact <- strsplit(fact, " = ") # Separate value (level) and interpretation (label) } if(length(fact) != 0 & !textfield[i]) { # Do this only if the column is not a text type column. out[[i]] <- factor( out[[i]], levels = unlist(lapply(fact, function(x) x[1])), labels = unlist(lapply(fact, function(x) x[2])), ordered = TRUE ) } subqtest <- subquestion[[i]][1] } return(out) } # merge.questions takes a multiple checkbox question and merges that into a single factor. # First levels in levs have priority over others, if several levels apply to a row. merge.questions <- function( dat, # data.frame with questionnaire data cols, # list of vectors of column names or numbers to be merged into one level in the factor levs, # vector (with the same length as cols) of levels of factors into which questions are merged. name # text string for the name of the new factor column in the data. ) { for(i in length(cols):1) { temp <- FALSE for(j in rev(cols[[i]])) { temp <- temp | !is.na(dat[[j]]) } dat[[name]][temp] <- levs[i] } dat[[name]] <- factor(dat[[name]], levels = levs, ordered = TRUE) return(dat) } ############# Data preprocessing # Get the data either from Opasnet or your own hard drive. #Survey original file: N:/Ymal/Projects/Goherr/WP5/Goherr_fish_consumption.csv survey <- opasnet.csv("5/57/Goherr_fish_consumption.csv", sep = ";", fill = TRUE, quote = "\"") surcol <- t(survey[1,]) survey <- webropol.convert(survey, 2121, textmark = ":Other open") # Data file is converted to data.frame using levels at row 1269. # Take the relevant columnames from the table on the page. colframe <- opbase.data("Op_en7749", subset = "Questions in the Goherr questionnaire") colnames(survey) <- colframe$Result survey$Row <- 1:nrow(survey) survey$Weighting <- as.double(levels(survey$Weighting))[survey$Weighting] survey$Ages <- ifelse(as.numeric(as.character(survey$Age)) < 46, "18-45",">45") freqlist <- c( "less than once a year", "A few times a year", "1 - 3 times per month", "once a week", "2 - 4 times per week", "5 or more times per week" ) amlist <- c( "1/6 plate or below (50 grams)", "1/3 plate (100 grams)", "1/2 plate (150 grams)", "2/3 plate (200 grams)", "5/6 plate (250 grams)", "full plate (300 grams)", "overly full plate (500 grams)" # "Not able to estimate" ) sidel <- c( "1/6 plate or below (50 grams)", "1/4 plate (100 grams)", "1/2 plate (150 grams)", "2/3 plate (200 grams)", "5/6 plate (250 grams)" # "Not able to estimate" ) ansl <- list( `How often eat fish` = freqlist, `How often Baltic salmon` = c("Never", freqlist), `How much Baltic salmon` = amlist, `How often side Baltic salmon` = c("Never", freqlist), `How much side Baltic salmon` = sidel, `How often Baltic herring` = c("Never", freqlist), `How much Baltic herring` = amlist, `How often side Baltic herring` = c("Never", freqlist), `How much side Baltic herring` = sidel ) for (i in names(ansl)) { survey[[i]] <- factor(survey[[i]], levels = ansl[[i]]) } objects.store(survey, surcol) cat("objects survey, surcol were stored.\n") |
Bayes model
- Model run 3.3.2017. All variables assumed independent. [1]
- Model run 3.3.2017. p has more dimensions. [2]
# This is code Op_en7749/bayes on page [[Goherr: Fish consumption study]] library(OpasnetUtils) library(reshape2) library(rjags) library(car) # Fish intake in humans # Data from data.frame survey from page [[Goherr: Fish consumption study]] # Start with salmon questions 46:49 (amounts eaten) # Some preprocessing should be moved away from this code. # Model assumes that questionnaire data follows binomial distribution with parameter p and max value 9. # p depends on country (4 groups), sex (2), age (2) that are known individually. # We should test whether sex makes a difference or whether it can be omitted. # Predicted p for each question, determined by the group, are produced from the bayes model. # p is used to sample answers, which are then combined with estimates of amounts related to each answer. # Total amount eaten of each fish per modelled individual is finally calculated. objects.latest("Op_en7749", "preprocess") # [[Goherr: Fish consumption study]]: survey, surcol # Interesting fish eating questions surv <- survey[c(1,3,4,16,29,30,31,46:49,86,95:98,158)] colnames(surv) consume <- data.matrix(survey[c( "Baltic salmon", "Eat Baltic herring" )]) consume <- 1 - (consume!=2 | is.na(consume)) # Yes=1, other=0 agel <- as.character(unique(survey$Ages)) countryl <- sort(as.character(unique(survey$Country))) genderl <- sort(as.character(unique(survey$Gender))) fisl <- c("Salmon", "Herring") ans.sal <- survey[ grep("Yes", survey[["Baltic salmon"]]) , c( "How often Baltic salmon", "How much Baltic salmon", "How often side Baltic salmon", "How much side Baltic salmon", "Ages", "Country", "Gender" )] ans.her <- survey[ grep("Yes", survey[["Eat Baltic herring"]]) , c( "How often Baltic herring", "How much Baltic herring", "How often side Baltic herring", "How much side Baltic herring", "Ages", "Country", "Gender" )] quesl <- c( "How often", "How much", "How often side", "How much side", "Ages", "Country", "Gender" ) colnames(ans.sal) <- quesl colnames(ans.her) <- quesl ans <- rbind(ans.sal, ans.her) head(ans) qlen <- c(7,7,7,5) # Number of options in each question questionl <- colnames(ans.sal) questionl.her <- colnames(ans.her) agel countryl genderl fisl mod <- textConnection(" model{ # Data1: Full questionnaire for(f in 1:2) { # Salmon or herring for(i in 1:U) { # Full questionnaire consume[i,f] ~ dbern(p[f,ageU[i],countryU[i],genderU[i]]) } } # Data2: Those responses that reported either Baltic herring or salmon for(q in 1:Q) { # Q = # of fish-specific questions for(i in 1:S) { # S = # respondents who eat Baltic salmon or herring ans[i,q] ~ dbin(p2[fis[i],age[i],country[i],gender[i],q], qlen[q]) } } # Priors (multidimensional) for(i in 1:A) { # Age groups for(j in 1:C) { # Countries for(k in 1:G) { #Genders for(f in 1:2) { # Fish species p[f,i,j,k] ~ dbeta(1,1) for(q in 1:Q) { # Q = # of fish-specific questions p2[f,i,j,k,q] ~ dbeta(1,1) ans.pred[f,i,j,k,q] ~ dbin(p2[f,i,j,k,q], qlen[q]) } } } } } } ") jags <- jags.model( mod, data = list( U = nrow(surv), Q = 4, S = nrow(ans), consume = consume, ans = data.matrix(ans[1:4]) - 1, # Zero is the first option qlen = qlen-1, # Subtract 1 because starts from 0. age = match(ans$Ages, agel), country = match(ans$Country, countryl), gender = match(ans$Gender, genderl), ageU = match(survey$Ages, agel), countryU = match(survey$Country, countryl), genderU = match(survey$Gender, genderl), fis = c(rep(1, nrow(ans.sal)), rep(2, nrow(ans.her))), A = length(agel), C = length(countryl), G = length(genderl) ), n.chains = 4, n.adapt = 100 ) update(jags, 100) samps <- jags.samples(jags, c('ans.pred','p','p2'), 1000) #samps.coda <- coda.samples(jags, c('mu', 'pcd.pred', 'ans.pred'), 1000) ans.pred <- array( samps$ans.pred, dim = c(length(fisl), length(agel), length(countryl), length(genderl), length(quesl), 1000, 4), dimnames = list( Fish = fisl, Age = agel, Country = countryl, Gender = genderl, Question = quesl, Iter = 1:1000, Seed = c("S1","S2","S3","S4") ) ) p.pred <- array( samps$p, dim = c(length(fisl), length(agel), length(countryl), length(genderl), 1000, 4), dimnames = list( Fish = fisl, Age = agel, Country = countryl, Gender = genderl, Iter = 1:1000, Seed = c("S1","S2","S3","S4") ) ) p2.pred <- array( samps$p2, dim = c(length(fisl), length(agel), length(countryl), length(genderl), length(quesl), 1000, 4), dimnames = list( Fish = fisl, Age = agel, Country = countryl, Gender = genderl, Question = quesl, Iter = 1:1000, Seed = c("S1","S2","S3","S4") ) ) ansm <- melt(ans.pred) pm <- melt(p.pred) p2m <- melt(p2.pred) scatterplotMatrix(t(ans.pred[1,1,,1,1,,1])) scatterplotMatrix(t(p2.pred[1,1,,1,1,,1])) scatterplotMatrix(t(p2.pred[,1,3,1,1,,1])) scatterplotMatrix(t(p2.pred[1,,3,1,1,,1])) scatterplotMatrix(t(p2.pred[1,1,3,,1,,1])) scatterplotMatrix(t(p2.pred[1,1,3,1,,,1])) scatterplotMatrix(t(p.pred[1,1,,1,,1])) scatterplotMatrix(t(p.pred[,1,3,1,,1])) scatterplotMatrix(t(p.pred[1,,3,1,,1])) scatterplotMatrix(t(p.pred[1,1,3,,,1])) objects.store(ans.pred, p.pred, p2.pred) cat("Arrays ans.pred (answer), p.pred (probability to eat), p2.pred (p of answer) stored.\n") |
Calculations
This code calculates how much (g/day) Baltic herring and salmon are eaten based on an Bayesian model build up based on the questionnaire data.
# This is code Op_en7749/calculate_amount on page [[Goherr: Fish consumption study]] objects.latest("Op_en7749", code_name = "bayes") #: ans.pred, p.pred, p2.pred ql <- melt(ans.pred) ##Assumptions for amount and frequencies assumptions <- opbase.data("Op_en7749.assumptions_for_calculations") salmon_dishtimesassump <- Ovariable("salmon_dishtimesassump", data = assumptions[assumptions$Variable == "freq" , c("value", "Result")]) salmon_dishamountassump <- Ovariable("salmon_dishamountassump", data = assumptions[assumptions$Variable == "amdish" , c("value", "Result")]) salmon_ingridient <- Ovariable("salmon_ingridient", data = assumptions[assumptions$Variable == "ingridient", ]["Result"]) salmon_sidetimesassump <- Ovariable("salmon_wholetimesassump", data = assumptions[assumptions$Variable == "freq" , c("value", "Result")]) salmon_sideamountassump <- Ovariable("salmon_wholeamountassump", data = assumptions[assumptions$Variable == "amside" , c("value", "Result")]) ##Build up the variables to calculate amount of Baltic salmon eating salmon_dishtimes <- Ovariable("salmon_dishtimes", data = data.frame( subset(ql, ql$Fish == "Salmon" & ql$Question == "How often" & ql$Seed == "S1"), Result = 1 )) salmon_dishtimes@data$Question <- NULL salmon_dishamount <- Ovariable("salmon_dishamount", data = data.frame( subset(ql, ql$Fish == "Salmon" & ql$Question == "How much" & ql$Seed == "S1"), Result = 1 )) #salmon with dish amount per one serving salmon_dishamount@data$Question <- NULL salmon_sidetimes <- Ovariable("salmon_sidetimes", data = data.frame( subset(ql, ql$Fish == "Salmon" & ql$Question == "How often side" & ql$Seed == "S1"), Result = 1 )) #salmon as such times / year salmon_sidetimes@data$Question <- NULL salmon_sideamount <- Ovariable("salmon_sideamount", data = data.frame( subset(ql, ql$Fish == "Salmon" & ql$Question == "How much side" & ql$Seed == "S1"), Result = 1 )) #salmon as whole amount per one serving salmon_sideamount@data$Question <- NULL amount <- Ovariable("amount", dependencies = data.frame(Name = c( "salmon_dishamount", "salmon_dishamountassump", "salmon_ingridient", "salmon_dishtimes", "salmon_dishtimesassump", "salmon_sideamount", "salmon_sideamountassump", "salmon_sidetimes", "salmon_sidetimesassump" )), formula = function(...) { out1 <- (salmon_dishamount * salmon_dishamountassump * salmon_ingridient) out1@output$value <- NULL out1 <- ((salmon_dishtimes * salmon_dishtimesassump) * out1) / 365 out1@output$value <- NULL out2 <- (salmon_sideamount * salmon_sideamountassump) out2@output$value <- NULL out2 <- ((salmon_sidetimes * salmon_sidetimesassump) * out2) / 365 out2@output$value <- NULL out <- out1 + out2 # Per vuosi -> per d #result(out)[result(out) == 0] <- 0.01 # Ei jätetä nollia saantiin return(out) } ) amountSalmon <- EvalOutput(amount, forceEval = TRUE, N = 1000) temp <- amountSalmon@output temp <- aggregate(temp$amountResult, by=list(temp$Country, temp$Age, temp$Gender), FUN = mean) colnames(temp) <- c("Country","Age","Gender","Salmon amount") oprint(temp) ##Build up the variables to calculate amount of Baltic herring eating herring_dishtimes <- Ovariable("herring_dishtimes", data = data.frame( subset(ql, ql$Fish == "Herring" & ql$Question == "How often" & ql$Seed == "S1"), Result = 1 )) herring_dishtimes@data$Question <- NULL herring_dishamount <- Ovariable("herring_dishamount", data = data.frame( subset(ql, ql$Fish == "Herring" & ql$Question == "How much" & ql$Seed == "S1"), Result = 1 )) #herring with dish amount per one serving herring_dishamount@data$Question <- NULL herring_sidetimes <- Ovariable("herring_sidetimes", data = data.frame( subset(ql, ql$Fish == "Herring" & ql$Question == "How often side" & ql$Seed == "S1"), Result = 1 )) #herring as such times / year herring_sidetimes@data$Question <- NULL herring_sideamount <- Ovariable("herring_sideamount", data = data.frame( subset(ql, ql$Fish == "Herring" & ql$Question == "How much side" & ql$Seed == "S1"), Result = 1 )) #herring as whole amount per one serving herring_sideamount@data$Question <- NULL herring_dishtimesassump <- Ovariable("herring_dishtimesassump", data = assumptions[assumptions$Variable == "freq" , c("value", "Result")]) herring_dishamountassump <- Ovariable("herring_dishamountassump", data = assumptions[assumptions$Variable == "amdish" , c("value", "Result")]) herring_ingridient <- Ovariable("herring_ingridient", data = assumptions[assumptions$Variable == "ingridient", ]["Result"]) herring_sidetimesassump <- Ovariable("herring_wholetimesassump", data = assumptions[assumptions$Variable == "freq" , c("value", "Result")]) herring_sideamountassump <- Ovariable("herring_wholeamountassump", data = assumptions[assumptions$Variable == "amside" , c("value", "Result")]) amount <- Ovariable("amount", dependencies = data.frame(Name = c( "herring_dishamount", "herring_dishamountassump", "herring_ingridient", "herring_dishtimes", "herring_dishtimesassump", "herring_sideamount", "herring_sideamountassump", "herring_sidetimes", "herring_sidetimesassump" )), formula = function(...) { out1 <- (herring_dishamount * herring_dishamountassump * herring_ingridient) out1@output$value <- NULL out1 <- ((herring_dishtimes * herring_dishtimesassump) * out1) / 365 out1@output$value <- NULL out2 <- (herring_sideamount * herring_sideamountassump) out2@output$value <- NULL out2 <- ((herring_sidetimes * herring_sidetimesassump) * out2) / 365 out2@output$value <- NULL out <- out1 + out2 # Per vuosi -> per d #result(out)[result(out) == 0] <- 0.01 # Ei jätetä nollia saantiin return(out) } ) amountHerring <- EvalOutput(amount, forceEval = TRUE, N = 1000) temp <- amountHerring@output temp <- aggregate(temp$amountResult, by=list(temp$Country, temp$Age, temp$Gender), FUN = mean) colnames(temp) <- c("Country","Age","Gender","Herring amount") oprint(temp) objects.store(amountHerring, amountSalmon) cat("objects amountHerring, amountSalmon were stored.\n") |
Assumptions
The following assumptions are used:
Obs | Variable | value | Explanation | Result |
---|---|---|---|---|
1 | freq | 6 | times per year | 260 - 364 |
2 | freq | 5 | times per year | 104 - 208 |
3 | freq | 4 | times per year | 52 |
4 | freq | 3 | times per year | 12 - 36 |
5 | freq | 2 | times per year | 2 - 5 |
6 | freq | 1 | times per year | 0.5 - 0.9 |
7 | freq | 0 | times per year | 0 |
8 | amdish | 0 | grams / serving | 20 - 50 |
9 | amdish | 1 | grams / serving | 70 - 100 |
10 | amdish | 2 | grams / serving | 120 - 150 |
11 | amdish | 3 | grams / serving | 170 - 200 |
12 | amdish | 4 | grams / serving | 220 - 250 |
13 | amdish | 5 | grams / serving | 270 - 300 |
14 | amdish | 6 | grams / serving | 450 - 500 |
15 | ingridient | fraction | 0.1 - 0.3 | |
16 | amside | 0 | grams / serving | 20 - 50 |
17 | amside | 1 | grams / serving | 70 - 100 |
18 | amside | 2 | grams / serving | 120 - 150 |
19 | amside | 3 | grams / serving | 170 - 200 |
20 | amside | 4 | grams / serving | 220 - 250 |
Questionnaire
[show]Show details | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Dependencies
The survey data will be used as input in the benefit-risk assessment of Baltic herring and salmon intake, which is part of the WP5 work in Goherr-project.
Formula
See also
Keywords
References
Related files
<mfanonymousfilelist></mfanonymousfilelist>