Goherr: Fish consumption study: Difference between revisions
Line 461: | Line 461: | ||
* Model run 5.2.2019 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=uHmMkAcFTNeMeipn] | * Model run 5.2.2019 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=uHmMkAcFTNeMeipn] | ||
* Model run 6.2.2019 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=tAYKM8VxbmhxtGyw] | * Model run 6.2.2019 [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=tAYKM8VxbmhxtGyw] | ||
* Model run 7.2.2019 with systematic analyses of reasons to eat and not to eat Baltic herring [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=fnpxJmMcVxiW9SnC] | |||
Methodological concerns: | Methodological concerns: | ||
Line 466: | Line 467: | ||
* [https://stats.stackexchange.com/questions/46345/how-to-calculate-goodness-of-fit-in-glm-r Goodness of fit in logistic regression] | * [https://stats.stackexchange.com/questions/46345/how-to-calculate-goodness-of-fit-in-glm-r Goodness of fit in logistic regression] | ||
* [https://stats.stackexchange.com/questions/8661/logistic-regression-in-r-odds-ratio Calculate odds ratios in logistic regression] | * [https://stats.stackexchange.com/questions/8661/logistic-regression-in-r-odds-ratio Calculate odds ratios in logistic regression] | ||
* [https://www3.nd.edu/~rwilliam/stats3/ordinalindependent.pdf You might treat independent ordinal variables as continuous] | |||
<rcode graphics=1> | <rcode graphics=1> | ||
Line 478: | Line 480: | ||
BS <- 24 | BS <- 24 | ||
########################## Functions | |||
groups <- function(o) { | groups <- function(o) { | ||
Line 620: | Line 624: | ||
return(tmp) | return(tmp) | ||
} | } | ||
#' @title Perform and print regression analyses | |||
#' @param dat data.frame with data | |||
#' @param y name of column to be used as dependent variable | |||
#' @param countries logical atom to tell whether to run country-specific analyses | |||
#' @return returns the model fit object | |||
printregr <- function(dat, y, title, countries = FALSE) { | |||
dat$y <- dat[[y]] | |||
cat("\n############### Logistic regression analysis:",title, "(", y, ")\n") | |||
fit <- glm( | |||
y ~ Ages + Gender + Country + as.numeric(Education) + as.numeric(Purchasing.power), | |||
family=binomial(),na.action="na.omit",weights=Weighting, | |||
data=dat | |||
) | |||
step <- stepAIC(fit, direction = "both") | |||
oprint(step$anova) | |||
oprint(summary(fit)) | |||
oprint(or95(fit)) | |||
if(countries) { | |||
for(i in unique(dat$Country)) { | |||
cat("\n#### Country-specific logistic regression analysis:", i, y, "\n") | |||
fit <- glm( | |||
Eat.fish ~ Ages + Gender + as.numeric(Education) + as.numeric(Purchasing.power), | |||
family=binomial(),na.action="na.omit",weights=Weighting, | |||
data=dat[dat$Country==i,] | |||
) | |||
step <- stepAIC(fit, direction = "both") | |||
oprint(step$anova) | |||
oprint(summary(fit)) | |||
oprint(or95(fit)) | |||
} | |||
} | |||
return(fit) | |||
} | |||
################## Get data | ################## Get data | ||
Line 706: | Line 748: | ||
############## Answers to open questions | ############## Answers to open questions | ||
if(FALSE){ | |||
cat("Number of open-ended answers per question and country\n") | cat("Number of open-ended answers per question and country\n") | ||
Line 721: | Line 764: | ||
oprint(table(tmp$time,tmp$Country)) | oprint(table(tmp$time,tmp$Country)) | ||
oprint(tmp) | oprint(tmp) | ||
} # End if(FALSE) | |||
#### Baltic salmon | #### Baltic salmon | ||
Line 1,022: | Line 1,066: | ||
dat2 <- dat[dat$Iter==1 & dat$Fish=="Herring",] | dat2 <- dat[dat$Iter==1 & dat$Fish=="Herring",] | ||
tmp <- printregr(dat2, "Eat.fish", "What explains whether people eat fish at all?") | |||
tmp <- printregr(dat2, "Eat.herring", "What explains whether people eat herring compared with other fish?") | |||
dat2$Eat.BH2 <- ifelse(dat2$Eat.BH!="Yes" | is.na(dat2$Eat.BH),0,1) | dat2$Eat.BH2 <- ifelse(dat2$Eat.BH!="Yes" | is.na(dat2$Eat.BH),0,1) | ||
tmp <- printregr(dat2, "Eat.BH2", "What explains whether people eat Baltic herring compared with everyone else?") | |||
dat2$What2 <- ifelse(dat2$What=="Baltic herring",1,ifelse(dat2$What=="Other herring",0,NA)) | dat2$What2 <- ifelse(dat2$What=="Baltic herring",1,ifelse(dat2$What=="Other herring",0,NA)) | ||
tmp <- printregr(dat2, "What2", "What explains whether people eat Baltic herring compared with other herring?") | |||
cat("###################### How fish-specific causes are explained by | cat("###################### How fish-specific causes are explained by | ||
population determinants?\n") | population determinants?\n") | ||
for(j in c( | |||
"Tastes.good.BH", | "Tastes.good.BH", | ||
"Self.caught.BH", | "Self.caught.BH", | ||
Line 1,127: | Line 1,092: | ||
"Environmental.BH", | "Environmental.BH", | ||
"Traditional.BH" | "Traditional.BH" | ||
) | )) { | ||
tmp <- printregr(dat2, j, "What explains the reason to eat Baltic herring?") | |||
} | } | ||
for(j in c( | |||
"Bad.taste.BH", | |||
"Not.used.to.BH", | |||
"Cannot.cook.BH", | |||
"Difficult.to.cook.BH", | |||
"Not.available.BH", | |||
"Health.risks.BH", | |||
"Better.for.feed.BH", | |||
"Quality.issues.BH", | |||
"Sustainability.BH", | |||
"Not.traditional.BH" | |||
)) { | |||
tmp <- printregr(dat2, j, "What explains the reason to not eat Baltic herring?") | |||
} | } | ||
# tmp <- printregr(dat2, "Eat.salmon", "What explains whether people eat any salmon compared with other fish?") | |||
# tmp <- printregr(dat2, "Baltic.salmon", "What explains whether people eat Baltic salmon compared with other salmon?") | |||
</rcode> | </rcode> | ||
Revision as of 11:15, 7 February 2019
This page is a study.
The page identifier is Op_en7749 |
---|
Moderator:Arja (see all) |
This page is a stub. You may improve it into a full page. |
Upload data
|
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
Original questionnaire analysis results
- 13.3.2017 ----#: . These should be presented somewhere --Arja (talk) 07:39, 26 April 2017 (UTC) (type: truth; paradigms: science: comment)
Consumption amount estimates
- Model run 21.4.2017 [1] first distribution
- Model run 18.5.2017 with modelled data; with direct survey data
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 can be found from the link below (see Data).
Data
Questionnaire
Original datafile File:Goherr fish consumption.csv.
Show details | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Assumptions
The following assumptions are used:
Obs | Variable | Value | Unit | Result | Description |
---|---|---|---|---|---|
1 | freq | 1 | times /a | 0 | Never |
2 | freq | 2 | times /a | 0.5 - 0.9 | less than once a year |
3 | freq | 3 | times /a | 2 - 5 | A few times a year |
4 | freq | 4 | times /a | 12 - 36 | 1 - 3 times per month |
5 | freq | 5 | times /a | 52 | once a week |
6 | freq | 6 | times /a | 104 - 208 | 2 - 4 times per week |
7 | freq | 7 | times /a | 260 - 364 | 5 or more times per week |
8 | amdish | 1 | g /serving | 20 - 70 | 1/6 plate or below (50 grams) |
9 | amdish | 2 | g /serving | 70 - 130 | 1/3 plate (100 grams) |
10 | amdish | 3 | g /serving | 120 - 180 | 1/2 plate (150 grams) |
11 | amdish | 4 | g /serving | 170 - 230 | 2/3 plate (200 grams) |
12 | amdish | 5 | g /serving | 220 - 280 | 5/6 plate (250 grams) |
13 | amdish | 6 | g /serving | 270 - 400 | full plate (300 grams) |
14 | amdish | 7 | g /serving | 400 - 550 | overly full plate (500 grams) |
15 | ingredient | fraction | 0.1 - 0.3 | Fraction of fish in the dish | |
16 | amside | 1 | g /serving | 20 - 70 | 1/6 plate or below (50 grams) |
17 | amside | 2 | g /serving | 70 - 130 | 1/4 plate (100 grams) |
18 | amside | 3 | g /serving | 120 - 180 | 1/2 plate (150 grams) |
19 | amside | 4 | g /serving | 170 - 230 | 2/3 plate (200 grams) |
20 | amside | 5 | g /serving | 220 - 280 | 5/6 plate (250 grams) |
21 | change | 1 | fraction | -1 - -0.8 | Decrease it to zero |
22 | change | 2 | fraction | -0.9 - -0.5 | Decrease it to less than half |
23 | change | 3 | fraction | -0.6 - -0.1 | Decrease it a bit |
24 | change | 4 | fraction | 0 | No effect |
25 | change | 5 | fraction | 0.1 - 0.6 | Increase it a bit |
26 | change | 6 | fraction | 0.5 - 0.9 | Increase it over by half |
27 | change | 7 | fraction | 0.8 - 1.3 | Increase it over to double |
28 | change | 8 | fraction | -0.3 - 0.3 | Don't know |
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. The code stores a data.frame named survey.
- Model run 11.7.2018 [2]
Analyses
- Sketches about modelling determinants of eating (spring 2018) [3]
Figures, tables and stat analyses for the first manuscript
- Model run 15.6.2018 [4]
- Model run 16.6.2018 [5]
- Model run 20.6.2018 [6]
- Model run 11.7.2018 [7]
- Model run 9.8.2018 [8]
- Model run 12.8.2018 [9]
- Model run 12.9.2018 with country-specific regression analyses, open-ended answers and fig about eating any herring [10]
- Model run 5.2.2019 [11]
- Model run 6.2.2019 [12]
- Model run 7.2.2019 with systematic analyses of reasons to eat and not to eat Baltic herring [13]
Methodological concerns:
- Is the warning in logistic regression important?
- Goodness of fit in logistic regression
- Calculate odds ratios in logistic regression
- You might treat independent ordinal variables as continuous
Descriptive statistics

Model must contain predictors such as country, gender, age etc. Maybe we should first study what determinants are important? Model must also contain determinants that would increase or decrease fish consumption. This should be conditional on the current consumption. How? Maybe we should look at principal coordinates analysis with all questions to see how they behave.
Also look at correlation table to see clusters.
Some obvious results:
- If reports no fish eating, many subsequent answers are NA.
- No vitamins correlates negatively with vitamin intake.
- Unknown salmon correlates negatively with the types of salmon eaten.
- Different age categories correlate with each other.
However, there are also meaningful negative correlations:
- Country vs allergy
- Country vs Norwegian salmon and Rainbow trout
- Country vs not traditional.
- Country vs recommendation awareness
- Allergy vs economic wellbeing
- Baltic salmon use (4 questions) vs Don't like taste and Not used to
- All questions between Easy to cook ... Traditional dish
Meaningful positive correlations:
- All questions between Baltic salmon ... Rainbow trout
- How often Baltic salmon/herring/side salmon/side herring
- How much Baltic salmon/herring/side salmon/side herring
- Better availability ... Recommendation
- All questions between Economic wellbeing...Personal aims
- Omega3, Vitamin D, and Other vitamins
Model runs
- Model run 13.3.2017
- Model run 21.4.2017 [14] old code from Answer merged to this code and debugged
Bayes model
- Model run 3.3.2017. All variables assumed independent. [15]
- Model run 3.3.2017. p has more dimensions. [16]
- Model run 25.3.2017. Several model versions: strange binomial+multivarnormal, binomial, fractalised multivarnormal [17]
- Model run 27.3.2017 [18]
- Other models except multivariate normal were archived and removed from active code 29.3.2017.
- Model run 29.3.2017 with raw data graphs [19]
- Model run 29.3.2017 with salmon and herring ovariables stored [20]
- Model run 13.4.2017 with first version of coordinate matrix and principal coordinate analysis [21]
- Model run 20.4.2017 [22] code works but needs a safety check against outliers
- Model run 21.4.2017 [23] some model results plotted
- Model run 21.4.2017 [24] ovariables produced by the model stored.
- Model run 18.5.2017 [25] small updates
- 13.2.2018 old model run but with new Opasnet [26]
Initiate ovariables
jsp taken directly from data WITHOUT salmpling.
Amount estimated from a bayesian model.
- Model run 24.5.2017 [27]
Amount estimates directly from data rather than from a bayesian model.
- Initiation run 18.5.2017 [28]
- Initiation run 24.2.2018: sampling from survey rather than each respondent once [29]
Initiate other ovariables
- Code stores ovariables assump, often, much, oftenside, muchside, amount.
- Model run 19.5.2017 [30]
- Initiation run 24.5.2017 without jsp [31]
- Model run 8.6.2017 [32]
Other code
This is code for analysing EFSA food intake data about fish for BONUS GOHERR manuscript Ronkainen L, Lehikoinen A, Haapasaari P, Tuomisto JT. 2019.
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.
See also
- Useful information about Wishart distribution and related topics:
Keywords
References
Related files