## Correlation Function
Correlation <- function(data, Cor1, Cor2, title) {
ggplot(data = data, aes(x = {{Cor1}}, y = {{Cor2}})) +
geom_point()+
geom_smooth(method = lm, se = FALSE)+
geom_abline(linetype = 3) +
ggtitle(title) +
stat_cor(method = "pearson") +
theme_light()
}
## Age
SS %>%
select(Age) %>%
summarize(meanAge = mean(as.numeric(Age)), sd = sd(as.numeric(Age)), range = range(as.numeric(Age)))
## # A tibble: 2 × 3
## meanAge sd range
## <dbl> <dbl> <dbl>
## 1 31.3 9.83 18
## 2 31.3 9.83 54
## BMI
SS %>%
select(BMI) %>%
summarize(meanBMI = mean(as.numeric(BMI)), sd = sd(as.numeric(BMI)), range = range(as.numeric(BMI)))
## # A tibble: 2 × 3
## meanBMI sd range
## <dbl> <dbl> <dbl>
## 1 25.9 4.61 19.5
## 2 25.9 4.61 35.1
## Obesity status
SS %>%
count(BMI.Catagory)
## # A tibble: 3 × 2
## BMI.Catagory n
## <chr> <int>
## 1 Healthy 9
## 2 Obese 1
## 3 Overweight 11
## Sex
SS %>%
count(Sex)
## # A tibble: 3 × 2
## Sex n
## <chr> <int>
## 1 Female 13
## 2 Male 7
## 3 Non-binary 1
## Race
SS %>%
count(Race)
## # A tibble: 4 × 2
## Race n
## <chr> <int>
## 1 Asian 5
## 2 Black/African American 3
## 3 Caucasian 11
## 4 Caucasian+Asian 2
## Average preferred sucrose concentration, geomean
SS %>%
select(Pref) %>%
summarize(PrefGeoM = exp(mean(log(Pref))), sd = sd(Pref))
## # A tibble: 1 × 2
## PrefGeoM sd
## <dbl> <dbl>
## 1 469. 264.
## Average most liked sucrose concentration, geomean
SS %>%
select(MostLiked) %>%
summarize(MostLikedGeoM = exp(mean(log(MostLiked))), sd = sd(MostLiked))
## # A tibble: 1 × 2
## MostLikedGeoM sd
## <dbl> <dbl>
## 1 593. 282.
## Average SFBL score
SS %>%
select(Sweet.Liking) %>%
summarize(SFBL = mean(Sweet.Liking), sd = sd(Sweet.Liking))
## # A tibble: 1 × 2
## SFBL sd
## <dbl> <dbl>
## 1 70.5 14.4
## Sweet beverage consumption frequency
SS %>%
count(SSB.frequency.score)
## # A tibble: 5 × 2
## SSB.frequency.score n
## <dbl> <int>
## 1 1 1
## 2 2 4
## 3 3 2
## 4 4 5
## 5 5 9
## Sweet foods consumption frequency
SS %>%
count(SF.frequency.score)
## # A tibble: 3 × 2
## SF.frequency.score n
## <dbl> <int>
## 1 1 6
## 2 2 13
## 3 3 2
## Preference
SS %>%
ggplot(aes(x = Pref)) +
geom_histogram(aes(y=..density..), position="identity") +
geom_density()+
theme_minimal()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Liking
SS %>%
ggplot(aes(x = MostLiked)) +
geom_histogram(aes(y=..density..), position="identity") +
geom_density()+
theme_minimal()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
This is calculated using data from the Full Test (participants rated 5 total solutions twice within each session). The overall test-retest reliability for the sweet intensity measures is high (r = 0.90). The dose-response curve is similiar to previously published data (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8777740/).
## Reliability: Full Test
Int.wide <- Int %>%
select(ID, Day, Sweet, Conc.mM, Sweet.Level) %>%
group_by(ID, Day, Conc.mM, Sweet.Level) %>%
summarize(Sweet.Int = mean(Sweet)) %>%
pivot_wider(names_from = Day, values_from = Sweet.Int) %>%
rename(Day.1 = "1", Day.2 = "2")
## `summarise()` has grouped output by 'ID', 'Day', 'Conc.mM'. You can override using the `.groups` argument.
Correlation(Int.wide, log10(Day.1), log10(Day.2), "Test retest reliability for sweet intensity measures")
## `geom_smooth()` using formula 'y ~ x'
## Difference between day 1 and day 2: Full Test
Int.aov <- aov(Sweet ~ Day + Sweet.Level, Int)
summary(Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 535 535 4.058 0.0446 *
## Sweet.Level 1 95682 95682 725.796 <2e-16 ***
## Residuals 417 54974 132
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Dose-Response
Int.1 <- Int %>%
filter(Day == 1) %>%
group_by(Sweet.Level) %>%
summarize(Sweet.Int = mean(Sweet), sd = sd(Sweet))
Int.1$Day <- 1
Int.2 <- Int %>%
filter(Day == 2) %>%
group_by(Sweet.Level) %>%
summarise(Sweet.Int = mean(Sweet), sd = sd(Sweet), Conc.mM = (Conc.mM + 10))
## `summarise()` has grouped output by 'Sweet.Level'. You can override using the `.groups` argument.
Int.2$Day <- 2
Sweet.Int <- full_join(Int.1, Int.2)
## Joining, by = c("Sweet.Level", "Sweet.Int", "sd", "Day")
Sweet.Int %>% ggplot(aes(x = Sweet.Level, y = Sweet.Int, color = as.factor(Day))) +
geom_point() +
geom_line()+
geom_errorbar(aes(ymin = Sweet.Int - sd/sqrt(21), ymax = Sweet.Int + sd/sqrt(21)), width = 0.1) +
ylim(0, 100) +
scale_color_jama() +
theme_light()
## Sweet level 1
L1.Int.aov <- Int %>%
filter(Sweet.Level == 1) %>%
aov(Sweet~Day, data = .)
summary(L1.Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 8 8.023 0.33 0.567
## Residuals 82 1996 24.343
## Sweet level 2
L2.Int.aov <- Int %>%
filter(Sweet.Level == 2) %>%
aov(Sweet~Day, data = .)
summary(L2.Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 66 65.95 1.722 0.193
## Residuals 82 3141 38.31
## Sweet level 3
L3.Int.aov <- Int %>%
filter(Sweet.Level == 3) %>%
aov(Sweet~Day, data = .)
summary(L3.Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 579 579.2 3.182 0.0782 .
## Residuals 82 14925 182.0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Sweet level 4
L4.Int.aov <- Int %>%
filter(Sweet.Level == 4) %>%
aov(Sweet~Day, data = .)
summary(L4.Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 265 264.9 1.606 0.209
## Residuals 82 13520 164.9
## Sweet level 5
L5.Int.aov <- Int %>%
filter(Sweet.Level == 5) %>%
aov(Sweet~Day, data = .)
summary(L5.Int.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Day 1 0 0.18 0.001 0.978
## Residuals 82 18681 227.82
## Reliability: Simplified Test
SS.Int.cor <- SS.Int.Wide %>%
select(SS.Sucralose.Low.1, SS.Sucrose.Low.1, SS.Sucralose.High.1, SS.Sucrose.High.1, Single.Sucralose.1, Single.Sucrose.1, SS.Sucralose.Low.2, SS.Sucrose.Low.2, SS.Sucralose.High.2, SS.Sucrose.High.2, Single.Sucralose.2, Single.Sucrose.2) %>%
cor(.)
SS.Int.cor.sig <- cor.mtest(SS.Int.cor, conf.level = 0.95)
corrplot(SS.Int.cor, p.mat = SS.Int.cor.sig$p, method = 'color', diag = FALSE, type = 'upper',
sig.level = c(0.001, 0.01, 0.05), pch.cex = 0.9,
insig = 'label_sig', pch.col = 'grey20', order = 'AOE', tl.col = 'black')
## Simple Sweet: Sucrose retest correlation
Correlation(SS, SS.Sucrose_90mM_1, SS.Sucrose_90mM_2, "Test re-test correlation for Simple Sweet - Sucrose: Low")
## `geom_smooth()` using formula 'y ~ x'
Correlation(SS, SS.Sucrose_1050mM_1, SS.Sucrose_1050mM_2, "Test re-test correlation for Simple Sweet - Sucrose: High")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet: Sucralose retest correlation
Correlation(SS, SS.Sucralose_0.13mM_1, SS.Sucralose_0.13mM_2, "Test re-test correlation for Simple Sweet - Sucralose: Low")
## `geom_smooth()` using formula 'y ~ x'
Correlation(SS, SS.Sucralose_1.5mM_1, SS.Sucralose_1.5mM_2, "Test re-test correlation for Simple Sweet - Sucralose: High")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution: Sucrose retest correlation
Correlation(SS, Single.Sucrose_1, Single.Sucrose_2, "Test re-test correlation for Single Solution - Sucrose")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution: Sucralose retest correlation
Correlation(SS, Single.Sucralose_1, Single.Sucralose_2, "Test re-test correlation for Single Solution - Sucralose")
## `geom_smooth()` using formula 'y ~ x'
The sucrose and sucralose concentrations were grabbed from a publication by Bobowski et. al (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5647502/), who previously conducted the preference tracking procedure using sucrose and sweetness intensity matching sucralose. Our data suggest there may be a difference in sweetness intensity between the high concentration of sucrose and sucralose (p = 0.06), althought technically not statistically significant.
## Simple Sweet Sucrose vs Sucralose ANOVA
SweetMatch <- aov(Sweet ~ as.factor(Sweetener) + as.factor(Sweet.Level), data = SS.Int)
summary(SweetMatch)
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(Sweetener) 1 416 416 3.572 0.0605 .
## as.factor(Sweet.Level) 1 32692 32692 280.409 <2e-16 ***
## Residuals 165 19237 117
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Post-hoc
tukey.SweetMatch<-TukeyHSD(SweetMatch)
tukey.SweetMatch
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Sweet ~ as.factor(Sweetener) + as.factor(Sweet.Level), data = SS.Int)
##
## $`as.factor(Sweetener)`
## diff lwr upr p adj
## Sucrose-Sucralose 3.14869 -0.1409176 6.438299 0.0605296
##
## $`as.factor(Sweet.Level)`
## diff lwr upr p adj
## Low-High -27.8994 -31.18901 -24.6098 0
## Sucrose vs sucralose at high sweetness level
SS.Int$SweetenerxLevel <- paste(SS.Int$Sweetener, SS.Int$Sweet.Level)
SucSucraHigh <- SS.Int %>%
filter(SweetenerxLevel == c("Sucrose High", "Sucralose High"))
SucSucraHighMatch <- aov(Sweet ~ SweetenerxLevel, SucSucraHigh)
summary(SucSucraHighMatch)
## Df Sum Sq Mean Sq F value Pr(>F)
## SweetenerxLevel 1 2062 2062.3 9.919 0.00309 **
## Residuals 40 8317 207.9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
SS.High <- SS.Int %>%
filter(Sweet.Level == "High")
SS.High.aov <- aov(Sweet ~ Sweetener, SS.High)
summary(SS.High.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Sweetener 1 1086 1086.4 5.449 0.022 *
## Residuals 82 16348 199.4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Simple Sweet Sucrose and Sucralose Sweetness Intensity Graph
SS.Int$Sweet.Level <- factor(SS.Int$Sweet.Level, levels=c("Low", "High"))
SS.Int$Sweetener <- factor(SS.Int$Sweetener, levels = c("Sucrose", "Sucralose"))
SS.Int %>%
group_by(Sweetener, Sweet.Level) %>%
summarize(meanSweet = mean(Sweet), SD = sd(Sweet)) %>%
ggplot(aes(x = Sweet.Level, y = meanSweet, fill = Sweetener)) +
geom_bar(stat = "identity", position = "dodge") +
geom_errorbar(aes(ymin = meanSweet - SD/sqrt(21), ymax = meanSweet + SD/sqrt(21)), position = position_dodge(width=0.9), width = 0.3) +
scale_fill_manual(values = c("#E57373", "#4527A0"))+
ylim(0, 60)+
theme_light()
## `summarise()` has grouped output by 'Sweetener'. You can override using the `.groups` argument.
Below are the test-retest correlations of the sweet hedonic measures. The re-test correlation of the most liked concentration is r = 0.76, which is comparable to the retest correlation of the most preferred concentrations. For both versions of the Simple Sweet test, the higher concentrations (1050 mM sucrose and 1.5mM sucralose) have decent re-test reliability (sucrose: r = 0.73 and sucralose: r = 0.57). However, the retest correlation for the lower concentrations (90 mM sucrose and 0.13 mM sucralose) for both versions of the Simple Sweet test are not statistically significant. For the Single Solution tests, the retest reliability for sucrose is decent (r = 0.65), while the retest reliability for sucralose is not significant.
## Corrplot
SS.cor <- SS %>%
select(Pref_1, Pref_2, MostLiked_1, MostLiked_2, SS.Sucrose_90mM_1, SS.Sucrose_90mM_2, SS.Sucrose_1050mM_1, SS.Sucrose_1050mM_2, SS.Sucralose_0.13mM_1, SS.Sucralose_0.13mM_2, SS.Sucralose_1.5mM_1, SS.Sucralose_1.5mM_2, Single.Sucrose_1, Single.Sucrose_2, Single.Sucralose_1, Single.Sucralose_2) %>%
cor(.)
SS.cor.sig <- cor.mtest(SS.cor, conf.level = 0.95)
corrplot(SS.cor, p.mat = SS.cor.sig$p, method = 'color', diag = FALSE, type = 'upper',
sig.level = c(0.001, 0.01, 0.05), pch.cex = 0.9,
insig = 'label_sig', pch.col = 'grey20', order = 'AOE', tl.col = 'black')
## Most-liked Concentration
Correlation(SS, log10(MostLiked_1), log10(MostLiked_2), "Test re-test correlation for the most-liked concentration")
## `geom_smooth()` using formula 'y ~ x'
## Preferred Concentration
Correlation(SS, log10(Pref_1), log10(Pref_2), "Test re-test correlation for the preferred concentration")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucrose
Correlation(SS, SS.Sucrose_90mM_1, SS.Sucrose_90mM_2, "Test re-test correlation for the Simple Sweet - Sucrose test at 90mM")
## `geom_smooth()` using formula 'y ~ x'
Correlation(SS, SS.Sucrose_1050mM_1, SS.Sucrose_1050mM_2, "Test re-test correlation for the Simple Sweet - Sucrose test at 1050mM")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucralose
Correlation(SS, SS.Sucralose_0.13mM_1, SS.Sucralose_0.13mM_2, "Test re-test correlation for the Simple Sweet - Sucralose test at 0.13mM")
## `geom_smooth()` using formula 'y ~ x'
Correlation(SS, SS.Sucralose_1.5mM_1, SS.Sucralose_1.5mM_2, "Test re-test correlation for the Simple Sweet - Sucralose test at 1.5mM")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucrose
Correlation(SS, Single.Sucrose_1, Single.Sucrose_2, "Test re-test correlation for the Simple Sweet - Sucrose test at 1050mM")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucralose
Correlation(SS, Single.Sucralose_1, Single.Sucralose_2, "Test re-test correlation for the Simple Sweet - Sucralose test at 1.5mM")
## `geom_smooth()` using formula 'y ~ x'
## Anova
Pref.Like.df <- SS %>%
select(ID, Pref, MostLiked) %>%
pivot_longer(cols = c(Pref, MostLiked), names_to = "Measure", values_to = "Conc") %>%
mutate(LogConc = log(Conc))
Pref.Like.aov <- aov(log10(Conc)~Measure, data = Pref.Like.df)
summary(Pref.Like.aov)
## Df Sum Sq Mean Sq F value Pr(>F)
## Measure 1 0.1089 0.10890 1.664 0.205
## Residuals 40 2.6184 0.06546
## MostLiked estimates
MostLiked <- 10^2.772951
Pref.Like.df %>%
filter(Measure == "MostLiked") %>%
summarize(CI.Conc = 1.96*(sd(Conc)/sqrt(21)))
## # A tibble: 1 × 1
## CI.Conc
## <dbl>
## 1 121.
## Pref mean estimate
Pref <- 10^(2.772951-0.101838)
Pref.Like.df %>%
filter(Measure == "Pref") %>%
summarize(CI.Conc = 1.96*(sd(Conc)/sqrt(21)))
## # A tibble: 1 × 1
## CI.Conc
## <dbl>
## 1 113.
Measure <- c("MostLiked", "Pref")
MeanEstimate <- c(592.86, 468.93)
CI <- c(120.52, 112.93)
Est.df <- data.frame(Measure, MeanEstimate, CI)
## Plot
Est.df %>%
ggplot(aes(x = Measure, y = MeanEstimate, fill = Measure)) +
geom_bar(stat = "identity", position = "dodge") +
geom_errorbar(aes(ymin = (MeanEstimate - CI), ymax = (MeanEstimate + CI), width = 0.3))+
ylim(0, 1050) +
theme_light() +
scale_fill_jco()
The correlation between the most liked and the preferred sucrose concentrations is high (r = 0.78), similiar to the data from our previous study. I also assessed the correlations between the two versions of the Simple Sweet test by correlating the slopes of the liking scores from each person. The two Simple Sweet versions are decently correlation (r = 0.51). I then correlated slopes of the Simple Sweet test with the preferred sucrose concentrations and found that the sucrose version (r = 0.64) is significantly correlated with the preferred sucralose concentration, while the sucralose version is not. Similiarly, Simple Sweet - Sucrose (r = 0.56) is significantly correlated with the most liked concentration, while Simple Sweet - Sucralose is not. The same trend is observed in the Single Solution tests. The liking score for the Single Solution Sucrose tests are significantly associated with both the preferred (r = 0.52) and the most liked (r = 0.64) concentrations, while the liking scores from the Single Solution Sucralose tests are not significantly associate with prefered and the most liked concentrations.
## Most-liked vs Preferred
Correlation(SS, log10(MostLiked), log10(Pref), "The relationship between the most liked and preferred sucrose concentration") +
xlim(1.9, 3.1) +
ylim(1.9, 3.1)
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet Sucralose vs Sucrose Slope
Correlation(SS, SS.Sucralose.Slope, SS.Sucrose.Slope, "The relationship between the slopes of the Simple Sweet - Sucrose and Sucralose tests")
## `geom_smooth()` using formula 'y ~ x'
## Single Sucralose vs Single Sucrose
Correlation(SS, Single.Sucralose, Single.Sucrose, "The relationship between the single solution Sucrose and Sucralose tests")
## `geom_smooth()` using formula 'y ~ x'
## Preference vs simplified procedures
## Simple Sweet - Sucrose
Correlation(SS, log10(Pref), SS.Sucrose.Slope, "The relationship between the preferred sucrose concentration and Simple Sweet - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucralose
Correlation(SS, log10(Pref), SS.Sucralose.Slope, "The relationship between the preferred sucrose concentration and Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucrose
Correlation(SS, log10(Pref), Single.Sucrose, "The relationship between the preferred sucrose concentration and Single Solution - Sucrose")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucralose
Correlation(SS, log10(Pref), Single.Sucralose, "The relationship between the preferred sucrose concentration and Single Solution - Sucralose")
## `geom_smooth()` using formula 'y ~ x'
## High concentration from Simple Sweet - Sucrose
Correlation(SS, log10(Pref), SS.Sucrose_1050mM, "The relationship between the preferred sucrose concentration and the high concentraiton from the Simple Sweet - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## High concentration from Simple Sweet - Sucralose
Correlation(SS, log10(Pref), SS.Sucralose_1.5mM, "The relationship between the preferred sucrose concentration and the high concentraiton from the Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Most-liked vs simplified procedures
## Simple Sweet - Sucrose
Correlation(SS, log10(MostLiked), SS.Sucrose.Slope, "The relationship between the most liked concentration and Simple Sweet - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucralose
Correlation(SS, log10(MostLiked), SS.Sucralose.Slope, "The relationship between the most liked concentration and Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucrose
Correlation(SS, log10(MostLiked), Single.Sucrose, "The relationship between the most liked sucrose concentration and Single Solution - Sucrose")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucralose
Correlation(SS, log10(MostLiked), Single.Sucralose, "The relationship between the most liked sucralose concentration and Single Solution - Sucralose")
## `geom_smooth()` using formula 'y ~ x'
Here comes the interesting part - correlating the Sweet Foods Liking (SFBL) score from a validated survey by Val Duffy with the sweet hedonic measures. The most liked concentration is significantly correlated with the SFL score (r = 0.43), while the preferred sucrose concentration is not. Simple Sweet - Sucrose and Sucralose are both significantly correlated with the SFL score (r = 0.50 and r = 0.60, respectively). The Single Solution tests are also significantly correlated with the SFL scores (sucrose: r = 0.66, sucralose: r = 0.56)
## Sweet Foods Liking Questionnaire vs Psychophysical sweet tooth measures
## Most liked concentration
Correlation(SS, Sweet.Liking, log10(MostLiked), "The relationship between sweet foods liking and most liked sucrose concentration")
## `geom_smooth()` using formula 'y ~ x'
## Preferred concentration
Correlation(SS, Sweet.Liking, log10(Pref), "The relationship between sweet foods liking and preferred sucrose concentration")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucrose
Correlation(SS, Sweet.Liking, SS.Sucrose.Slope, "The relationship between sweet foods liking and Simple Sweet - Sucrose")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet - Sucralose
Correlation(SS, Sweet.Liking, SS.Sucralose.Slope, "The relationship between sweet foods liking and Simple Sweet - Sucralose")
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucrose
Correlation(SS, Single.Sucrose, Sweet.Liking, "The relationship between sweet foods liking and Single Solution - Sucrose") +
xlim(0, 100) +
ylim(0, 100)
## `geom_smooth()` using formula 'y ~ x'
## Single Solution - Sucralose
Correlation(SS, Sweet.Liking, Single.Sucralose, "The relationship between sweet foods liking and Single Solution - Sucralose")
## `geom_smooth()` using formula 'y ~ x'
## High Concentration Simple Sweet - Sucrose
Correlation(SS, SS.Sucrose_1050mM, Sweet.Liking, "The relationship between sweet foods liking and the high concentraiton in the Simple Sweet - Sucrose test") +
xlim(0, 100) +
ylim(0, 100)
## `geom_smooth()` using formula 'y ~ x'
## High Concentration Simple Sweet - Sucralose
Correlation(SS, Sweet.Liking, SS.Sucralose_1.5mM, "The relationship between sweet foods liking and the high concentraiton in the Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
The strength of correlation between the SFBL score and Single Solution - Sucrose test is significantly better than the correlation between SFBL score and preferred concentration. The strength of correlation between the SFL score and high concentration from the Simple Sweet - Sucrose test is also significantly better than the correlation between SFBL score and preferred concentration.
n <- 21
## Correlation coefficients between SFL scores and sweet hedonic measures
Pref <- 0.42
MostLiked <- 0.57
SSsucrose <- 0.5
SSsucralose <- 0.6
SingleSucrose <- 0.66
SingleSucralose <- 0.56
SSsucrose.High <- 0.66
SSsucralose.High <- 0.54
## SFL/Pref vs SFL/most liked
cocor.dep.groups.overlap(Pref, MostLiked, 0.78, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.57
## Difference: r.jk - r.jh = -0.15
## Related correlation: r.kh = 0.78
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -1.1969, p-value = 0.2314
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -1.1690, df = 18, p-value = 0.2577
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -1.1664, df = 18, p-value = 0.2587
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -1.1969, p-value = 0.2314
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -1.1395, p-value = 0.2545
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -1.1690, df = 18, p-value = 0.2577
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -1.1309, p-value = 0.2581
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -1.1273, p-value = 0.2596
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.5473 0.1476
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -1.1286, p-value = 0.2591
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.4605 0.1178
## Null hypothesis retained (Interval includes 0)
## SFL/SS.Sucrose vs SFL/SS.Sucralose
cocor.dep.groups.overlap(SSsucrose, SSsucralose, 0.67, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.5 and r.jh = 0.6
## Difference: r.jk - r.jh = -0.1
## Related correlation: r.kh = 0.67
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -0.6974, p-value = 0.4856
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -0.6619, df = 18, p-value = 0.5164
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -0.6572, df = 18, p-value = 0.5194
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -0.6974, p-value = 0.4856
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -0.6526, p-value = 0.5140
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -0.6619, df = 18, p-value = 0.5164
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -0.6511, p-value = 0.5150
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -0.6502, p-value = 0.5155
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.5774 0.2897
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -0.6503, p-value = 0.5155
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.4415 0.2133
## Null hypothesis retained (Interval includes 0)
## SFL/Single.Sucrose vs SFL/Single.Sucralose
cocor.dep.groups.overlap(SingleSucrose, SingleSucrose, 0.51, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.66 and r.jh = 0.66
## Difference: r.jk - r.jh = 0
## Related correlation: r.kh = 0.51
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = 0.0000, df = 18, p-value = 1.0000
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = 0.0000, df = 18, p-value = 1.0000
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = 0.0000, df = 18, p-value = 1.0000
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.5482 0.5482
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = 0.0000, p-value = 1.0000
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.3373 0.3373
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/other hedonic measures
## SFL/Pref vs SFL/SS.Sucrose
cocor.dep.groups.overlap(Pref, SSsucrose, 0.64, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.5
## Difference: r.jk - r.jh = -0.08
## Related correlation: r.kh = 0.64
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -0.4984, p-value = 0.6182
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -0.4672, df = 18, p-value = 0.6460
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -0.4648, df = 18, p-value = 0.6476
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -0.4984, p-value = 0.6182
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -0.4630, p-value = 0.6434
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -0.4672, df = 18, p-value = 0.6460
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -0.4624, p-value = 0.6438
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -0.4621, p-value = 0.6440
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.5326 0.3294
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -0.4622, p-value = 0.6439
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.4385 0.2668
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/SS.Sucralose
cocor.dep.groups.overlap(Pref, SSsucralose, 0.33, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.6
## Difference: r.jk - r.jh = -0.18
## Related correlation: r.kh = 0.33
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -0.8837, p-value = 0.3769
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -0.8628, df = 18, p-value = 0.3996
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -0.8350, df = 18, p-value = 0.4147
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -0.8837, p-value = 0.3769
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -0.8261, p-value = 0.4087
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -0.8627, df = 18, p-value = 0.3996
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -0.8239, p-value = 0.4100
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -0.8217, p-value = 0.4113
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.8310 0.3400
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -0.8223, p-value = 0.4109
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.6245 0.2484
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/Single.Sucrose
cocor.dep.groups.overlap(Pref, SingleSucrose, 0.52, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.66
## Difference: r.jk - r.jh = -0.24
## Related correlation: r.kh = 0.52
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -1.3901, p-value = 0.1645
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -1.3933, df = 18, p-value = 0.1805
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -1.3691, df = 18, p-value = 0.1878
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -1.3901, p-value = 0.1645
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -1.3355, p-value = 0.1817
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -1.3933, df = 18, p-value = 0.1805
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -1.3249, p-value = 0.1852
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -1.3166, p-value = 0.1880
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.8589 0.1687
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -1.3178, p-value = 0.1876
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.6385 0.1133
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/Single.Sucralose
cocor.dep.groups.overlap(Pref, SingleSucralose, 0.18, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.56
## Difference: r.jk - r.jh = -0.14
## Related correlation: r.kh = 0.18
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -0.6179, p-value = 0.5367
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -0.6084, df = 18, p-value = 0.5505
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -0.5786, df = 18, p-value = 0.5701
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -0.6179, p-value = 0.5367
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -0.5738, p-value = 0.5661
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -0.6084, df = 18, p-value = 0.5505
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -0.5731, p-value = 0.5666
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -0.5724, p-value = 0.5671
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.8191 0.4488
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -0.5726, p-value = 0.5669
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.6222 0.3380
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/High concentration from SS.Sucrose
cocor.dep.groups.overlap(Pref, SSsucrose.High, 0.45, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.66
## Difference: r.jk - r.jh = -0.24
## Related correlation: r.kh = 0.45
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -1.3154, p-value = 0.1884
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -1.3146, df = 18, p-value = 0.2052
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -1.2828, df = 18, p-value = 0.2158
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -1.3154, p-value = 0.1884
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -1.2558, p-value = 0.2092
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -1.3145, df = 18, p-value = 0.2052
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -1.2478, p-value = 0.2121
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -1.2407, p-value = 0.2147
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.8903 0.2001
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -1.2417, p-value = 0.2143
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.6545 0.1355
## Null hypothesis retained (Interval includes 0)
## SFL/Pref vs SFL/High concentration from SS.Sucralose
cocor.dep.groups.overlap(Pref, SSsucralose.High, 0.071, n) ## Not significant
##
## Results of a comparison of two overlapping correlations based on dependent groups
##
## Comparison between r.jk = 0.42 and r.jh = 0.54
## Difference: r.jk - r.jh = -0.12
## Related correlation: r.kh = 0.071
## Group size: n = 21
## Null hypothesis: r.jk is equal to r.jh
## Alternative hypothesis: r.jk is not equal to r.jh (two-sided)
## Alpha: 0.05
##
## pearson1898: Pearson and Filon's z (1898)
## z = -0.4970, p-value = 0.6192
## Null hypothesis retained
##
## hotelling1940: Hotelling's t (1940)
## t = -0.4982, df = 18, p-value = 0.6244
## Null hypothesis retained
##
## williams1959: Williams' t (1959)
## t = -0.4649, df = 18, p-value = 0.6476
## Null hypothesis retained
##
## olkin1967: Olkin's z (1967)
## z = -0.4970, p-value = 0.6192
## Null hypothesis retained
##
## dunn1969: Dunn and Clark's z (1969)
## z = -0.4608, p-value = 0.6449
## Null hypothesis retained
##
## hendrickson1970: Hendrickson, Stanley, and Hills' (1970) modification of Williams' t (1959)
## t = -0.4982, df = 18, p-value = 0.6244
## Null hypothesis retained
##
## steiger1980: Steiger's (1980) modification of Dunn and Clark's z (1969) using average correlations
## z = -0.4604, p-value = 0.6452
## Null hypothesis retained
##
## meng1992: Meng, Rosenthal, and Rubin's z (1992)
## z = -0.4601, p-value = 0.6454
## Null hypothesis retained
## 95% confidence interval for r.jk - r.jh: -0.8229 0.5100
## Null hypothesis retained (Interval includes 0)
##
## hittner2003: Hittner, May, and Silver's (2003) modification of Dunn and Clark's z (1969) using a backtransformed average Fisher's (1921) Z procedure
## z = -0.4602, p-value = 0.6453
## Null hypothesis retained
##
## zou2007: Zou's (2007) confidence interval
## 95% confidence interval for r.jk - r.jh: -0.6281 0.3886
## Null hypothesis retained (Interval includes 0)
I looked into whether there are significant relationships between demographics data such as age and BMI with any of the sweet hedonic measures and SFL score. I did not find any meaningful relationships, so I decided to not include any of these variables as a covariate for the prediction models.
## Age
SS$Age <- as.numeric(SS$Age)
## Preference
Correlation(SS, Age, log10(Pref), "The relationship between age and the preferred sucrose concentraiton")
## `geom_smooth()` using formula 'y ~ x'
## Most Liked
Correlation(SS, Age, log10(MostLiked), "The relationship between age and the most liked sucrose concentraiton")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet
## Sucrose
Correlation(SS, Age, SS.Sucrose.Slope, "The relationship between age and Simple Sweet - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Sucralose
Correlation(SS, Age, SS.Sucralose.Slope, "The relationship between age and Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Single
## Sucrose
Correlation(SS, Age, Single.Sucrose, "The relationship between age and Single Solution - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Sucralose
Correlation(SS, Age, Single.Sucralose, "The relationship between age and Single Solution - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Sweet Liking Survey
Correlation(SS, Age, Sweet.Liking, "The relationship between age and sweet food liking")
## `geom_smooth()` using formula 'y ~ x'
## BMI
## Preference
Correlation(SS, BMI, log10(Pref), "The relationship between BMI and the preferred sucrose concentraiton")
## `geom_smooth()` using formula 'y ~ x'
## Most Liked
Correlation(SS, BMI, log10(MostLiked), "The relationship between BMI and the most liked sucrose concentraiton")
## `geom_smooth()` using formula 'y ~ x'
## Simple Sweet
## Sucrose
Correlation(SS, BMI, SS.Sucrose.Slope, "The relationship between BMI and Simple Sweet - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Sucralose
Correlation(SS, BMI, SS.Sucralose.Slope, "The relationship between BMI and Simple Sweet - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Single
## Sucrose
Correlation(SS, BMI, Single.Sucrose, "The relationship between BMI and Single Solution - Sucrose test")
## `geom_smooth()` using formula 'y ~ x'
## Sucralose
Correlation(SS, BMI, Single.Sucralose, "The relationship between BMI and Single Solution - Sucralose test")
## `geom_smooth()` using formula 'y ~ x'
## Sweet Liking Survey
Correlation(SS, BMI, Sweet.Liking, "The relationship between BMI and sweet food liking")
## `geom_smooth()` using formula 'y ~ x'
Similar to previous findings, the most liked concentrations significantly predicts the preferred concentrations (r2 = 0.64). The using multiple linear regression on the two liking score from the Simple Sweet - Sucrose can also predict the preferred concentrations (r2 = 0.25), although it did not capture as much variance as I’ve hoped for. Using the slopes of Simple Sweet - Sucrose test scores yield a slightly better model (r2 = 0.26). Simple Sweet - Sucralose did not significantly predict the preferred concentrations. The Single Solution tests also did not predict the preferred concentrations.
## Preference as the DV
Pref.M1 <- lm(log10(Pref) ~ log10(MostLiked), data = SS)
summary(Pref.M1)
##
## Call:
## lm(formula = log10(Pref) ~ log10(MostLiked), data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.32030 -0.10045 0.03117 0.10576 0.24220
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.7163 0.3636 1.97 0.0636 .
## log10(MostLiked) 0.7049 0.1306 5.40 3.28e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1566 on 19 degrees of freedom
## Multiple R-squared: 0.6054, Adjusted R-squared: 0.5847
## F-statistic: 29.15 on 1 and 19 DF, p-value: 3.283e-05
Pref.M2 <- lm(log10(Pref) ~ SS.Sucrose_90mM + SS.Sucrose_1050mM, data = SS)
summary(Pref.M2)
##
## Call:
## lm(formula = log10(Pref) ~ SS.Sucrose_90mM + SS.Sucrose_1050mM,
## data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.36641 -0.12286 0.04699 0.10740 0.27229
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.589051 0.168981 15.322 9.03e-12 ***
## SS.Sucrose_90mM -0.007816 0.003044 -2.568 0.0194 *
## SS.Sucrose_1050mM 0.006141 0.002153 2.852 0.0106 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1961 on 18 degrees of freedom
## Multiple R-squared: 0.4134, Adjusted R-squared: 0.3482
## F-statistic: 6.342 on 2 and 18 DF, p-value: 0.008228
Pref.M3 <- lm(log10(Pref) ~ SS.Sucrose.Slope, data = SS)
summary(Pref.M3)
##
## Call:
## lm(formula = log10(Pref) ~ SS.Sucrose.Slope, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.35890 -0.10789 0.05004 0.09994 0.28433
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.512322 0.060854 41.284 < 2e-16 ***
## SS.Sucrose.Slope 0.026597 0.007387 3.601 0.00191 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1922 on 19 degrees of freedom
## Multiple R-squared: 0.4056, Adjusted R-squared: 0.3743
## F-statistic: 12.96 on 1 and 19 DF, p-value: 0.001906
Pref.M4 <- lm(log10(Pref) ~ SS.Sucralose_0.13mM + SS.Sucralose_1.5mM, data = SS)
summary(Pref.M4)
##
## Call:
## lm(formula = log10(Pref) ~ SS.Sucralose_0.13mM + SS.Sucralose_1.5mM,
## data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.31564 -0.20649 0.01996 0.16519 0.36172
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.864029 0.180517 15.866 5.02e-12 ***
## SS.Sucralose_0.13mM -0.007210 0.003501 -2.059 0.0542 .
## SS.Sucralose_1.5mM 0.001680 0.002506 0.670 0.5111
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2298 on 18 degrees of freedom
## Multiple R-squared: 0.1947, Adjusted R-squared: 0.1052
## F-statistic: 2.176 on 2 and 18 DF, p-value: 0.1424
Pref.M5 <- lm(log10(Pref) ~ SS.Sucralose.Slope, data = SS)
summary(Pref.M5)
##
## Call:
## lm(formula = log10(Pref) ~ SS.Sucralose.Slope, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.35183 -0.20091 0.04446 0.17215 0.40101
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.625102 0.059742 43.94 <2e-16 ***
## SS.Sucralose.Slope 0.013549 0.008971 1.51 0.147
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2355 on 19 degrees of freedom
## Multiple R-squared: 0.1072, Adjusted R-squared: 0.06021
## F-statistic: 2.281 on 1 and 19 DF, p-value: 0.1474
Pref.M6 <- lm(log10(Pref) ~ Single.Sucrose, data = SS)
summary(Pref.M6)
##
## Call:
## lm(formula = log10(Pref) ~ Single.Sucrose, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.40734 -0.13608 0.00365 0.15964 0.35250
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.278113 0.155306 14.669 8.15e-12 ***
## Single.Sucrose 0.006398 0.002412 2.652 0.0157 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2129 on 19 degrees of freedom
## Multiple R-squared: 0.2702, Adjusted R-squared: 0.2317
## F-statistic: 7.033 on 1 and 19 DF, p-value: 0.01573
Pref.M7 <- lm(log10(Pref) ~ Single.Sucralose, data = SS)
summary(Pref.M7)
##
## Call:
## lm(formula = log10(Pref) ~ Single.Sucralose, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.49164 -0.15840 0.05537 0.19430 0.42724
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.543785 0.165527 15.368 3.59e-12 ***
## Single.Sucralose 0.002447 0.003010 0.813 0.426
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.245 on 19 degrees of freedom
## Multiple R-squared: 0.0336, Adjusted R-squared: -0.01726
## F-statistic: 0.6607 on 1 and 19 DF, p-value: 0.4264
Before talking about the results from this section, I want to point out that Julie Mennella found significant correlations between the preferred sucrose concentrations and the sugar content of the participants’ favorite cereal (r = 0.13) and beverage (r = 0.11), hence showing criterion validity for the Monell Forced-Choice Paired Comparison Preference Tracking procedure (https://pubmed.ncbi.nlm.nih.gov/21227904/). My results are showing that the preferred sucrose concentration is not associated with SFL score with n = 21. However, the most liked sucrose concentration can predict the SFL score (r2 = 0.14). The Simple Sweet - Sucrose and Sucralose tests both predicted the SFL score (r2 = 0.38 and r = 0.31, respectively). The Single Solution Sucrose and Sucralose tests also predicted the SFL score (r2 = 0.41 and r2 = 0.28, respectively).
## Sweet Food Liking as the DV
SFL.M1 <- lm(Sweet.Liking ~ log10(Pref), data = SS)
summary(SFL.M1)
##
## Call:
## lm(formula = Sweet.Liking ~ log10(Pref), data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.6066 -11.8293 0.3452 9.9239 25.8305
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.253 33.241 0.128 0.90
## log10(Pref) 24.795 12.396 2.000 0.06 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 13.47 on 19 degrees of freedom
## Multiple R-squared: 0.1739, Adjusted R-squared: 0.1305
## F-statistic: 4.001 on 1 and 19 DF, p-value: 0.05997
SFL.M2 <- lm(Sweet.Liking ~ log10(MostLiked), data = SS)
summary(SFL.M2)
##
## Call:
## lm(formula = Sweet.Liking ~ log10(MostLiked), data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.0164 -10.7664 -0.3759 7.2203 22.3870
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -14.61 28.28 -0.516 0.61154
## log10(MostLiked) 30.69 10.16 3.022 0.00702 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.18 on 19 degrees of freedom
## Multiple R-squared: 0.3246, Adjusted R-squared: 0.289
## F-statistic: 9.13 on 1 and 19 DF, p-value: 0.007017
SFL.M3 <- lm(Sweet.Liking ~ SS.Sucrose_90mM + SS.Sucrose_1050mM, data = SS)
summary(SFL.M3)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucrose_90mM + SS.Sucrose_1050mM,
## data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.470 -5.892 -2.071 8.331 21.604
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 40.5170 9.8097 4.130 0.000628 ***
## SS.Sucrose_90mM 0.0319 0.1767 0.181 0.858742
## SS.Sucrose_1050mM 0.4602 0.1250 3.682 0.001706 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.39 on 18 degrees of freedom
## Multiple R-squared: 0.4406, Adjusted R-squared: 0.3785
## F-statistic: 7.09 on 2 and 18 DF, p-value: 0.005361
SFL.M4 <- lm(Sweet.Liking ~ SS.Sucrose.Slope, data = SS)
summary(SFL.M4)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucrose.Slope, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.031 -8.603 -4.863 7.829 25.108
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 63.057 4.061 15.526 3e-12 ***
## SS.Sucrose.Slope 1.244 0.493 2.523 0.0207 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.82 on 19 degrees of freedom
## Multiple R-squared: 0.2509, Adjusted R-squared: 0.2115
## F-statistic: 6.365 on 1 and 19 DF, p-value: 0.02072
SFL.M5 <- lm(Sweet.Liking ~ SS.Sucralose_0.13mM + SS.Sucralose_1.5mM, data = SS)
summary(SFL.M5)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucralose_0.13mM + SS.Sucralose_1.5mM,
## data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.710 -12.141 0.789 9.092 21.134
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 60.0564 9.4568 6.351 5.54e-06 ***
## SS.Sucralose_0.13mM -0.2837 0.1834 -1.547 0.13938
## SS.Sucralose_1.5mM 0.4087 0.1313 3.113 0.00601 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.04 on 18 degrees of freedom
## Multiple R-squared: 0.3747, Adjusted R-squared: 0.3052
## F-statistic: 5.392 on 2 and 18 DF, p-value: 0.01462
SFL.M6 <- lm(Sweet.Liking ~ SS.Sucralose.Slope, data = SS)
summary(SFL.M6)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucralose.Slope, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -19.1103 -8.6636 -0.0989 9.4803 19.4480
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 65.4558 3.0023 21.802 6.6e-15 ***
## SS.Sucralose.Slope 1.4803 0.4508 3.284 0.00391 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.84 on 19 degrees of freedom
## Multiple R-squared: 0.362, Adjusted R-squared: 0.3284
## F-statistic: 10.78 on 1 and 19 DF, p-value: 0.003908
SFL.M7 <- lm(Sweet.Liking ~ Single.Sucrose, data = SS)
summary(SFL.M7)
##
## Call:
## lm(formula = Sweet.Liking ~ Single.Sucrose, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -15.526 -8.199 -1.836 12.005 19.858
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 40.8040 8.1170 5.027 7.48e-05 ***
## Single.Sucrose 0.4831 0.1261 3.832 0.00112 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.13 on 19 degrees of freedom
## Multiple R-squared: 0.4359, Adjusted R-squared: 0.4062
## F-statistic: 14.68 on 1 and 19 DF, p-value: 0.001125
SFL.M8 <- lm(Sweet.Liking ~ Single.Sucralose, data = SS)
summary(SFL.M8)
##
## Call:
## lm(formula = Sweet.Liking ~ Single.Sucralose, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.996 -8.127 -3.207 7.655 25.866
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 47.2169 8.2702 5.709 1.67e-05 ***
## Single.Sucralose 0.4471 0.1504 2.973 0.00782 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.24 on 19 degrees of freedom
## Multiple R-squared: 0.3174, Adjusted R-squared: 0.2815
## F-statistic: 8.836 on 1 and 19 DF, p-value: 0.007822
SFL.M9 <- lm(Sweet.Liking ~ SS.Sucrose_1050mM, data = SS)
summary(SFL.M9)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucrose_1050mM, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.748 -6.252 -2.306 8.098 22.291
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 41.5183 7.8830 5.267 4.4e-05 ***
## SS.Sucrose_1050mM 0.4639 0.1201 3.861 0.00105 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.09 on 19 degrees of freedom
## Multiple R-squared: 0.4396, Adjusted R-squared: 0.4101
## F-statistic: 14.91 on 1 and 19 DF, p-value: 0.001053
SFL.M10 <- lm(Sweet.Liking ~ SS.Sucralose_1.5mM, data = SS)
summary(SFL.M10)
##
## Call:
## lm(formula = Sweet.Liking ~ SS.Sucralose_1.5mM, data = SS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -21.0175 -10.3138 -0.5181 9.9695 25.0538
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 50.7561 7.5610 6.713 2.04e-06 ***
## SS.Sucralose_1.5mM 0.3751 0.1341 2.796 0.0115 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 12.47 on 19 degrees of freedom
## Multiple R-squared: 0.2916, Adjusted R-squared: 0.2543
## F-statistic: 7.82 on 1 and 19 DF, p-value: 0.01151
## Plot
Variance$Model <- factor(Variance$Model, levels = c("Preference", "Liking", "Simple Sweet - Sucrose", "Simple Sweet - Sucralose", "Single Solution - Sucrose", "Single Solution - Sucralose", "Simple Sweet - Sucrose (at 1050 mM)", "Simple Sweet - Sucralose (at 1.50 mM)"))
Variance %>%
ggplot(aes(x= Model, y = Variance, fill = Model)) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_nejm()+
theme_light() +
ylim(0, 0.5) +
theme(axis.text.x = element_text(angle = 90))
I am not quite sure if I figured out how replicate the factor analyses Matt did yet, but I did manage to do a PCA and an exploratory factor analysis.
PCA.df <- SS %>%
select(MostLiked, Pref, Single.Sucrose, Single.Sucralose, SS.Sucrose_1050mM, SS.Sucralose_1.5mM, Sweet.Liking)
SS.PCA <- prcomp(PCA.df, center = TRUE, scale = TRUE)
summary(SS.PCA)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 1.9538 1.3058 0.76735 0.61474 0.50793 0.43790 0.2468
## Proportion of Variance 0.5454 0.2436 0.08412 0.05399 0.03686 0.02739 0.0087
## Cumulative Proportion 0.5454 0.7890 0.87306 0.92705 0.96391 0.99130 1.0000
plot(SS.PCA)
fviz_pca_var(SS.PCA)
Ex.Fact <- factanal(scale(PCA.df), factors = 2, rotation = "varimax", scores = "regression")
Ex.Fact
##
## Call:
## factanal(x = scale(PCA.df), factors = 2, scores = "regression", rotation = "varimax")
##
## Uniquenesses:
## MostLiked Pref Single.Sucrose Single.Sucralose
## 0.027 0.317 0.100 0.676
## SS.Sucrose_1050mM SS.Sucralose_1.5mM Sweet.Liking
## 0.115 0.379 0.469
##
## Loadings:
## Factor1 Factor2
## MostLiked 0.169 0.972
## Pref 0.821
## Single.Sucrose 0.854 0.412
## Single.Sucralose 0.566
## SS.Sucrose_1050mM 0.912 0.229
## SS.Sucralose_1.5mM 0.779 -0.114
## Sweet.Liking 0.654 0.322
##
## Factor1 Factor2
## SS loadings 2.955 1.961
## Proportion Var 0.422 0.280
## Cumulative Var 0.422 0.702
##
## Test of the hypothesis that 2 factors are sufficient.
## The chi square statistic is 8.93 on 8 degrees of freedom.
## The p-value is 0.349
Ex.Fact$scores
## Factor1 Factor2
## [1,] -0.84025934 -1.04711469
## [2,] -0.01509093 1.27845897
## [3,] 0.51062967 0.56068881
## [4,] 0.15221038 -0.02329048
## [5,] 0.99344867 -0.04775404
## [6,] -0.08204270 1.31190270
## [7,] -1.58958208 0.28228347
## [8,] 1.13923416 -0.85458849
## [9,] -1.23510172 -0.16896428
## [10,] 1.61586270 -0.21384313
## [11,] -0.26919797 1.40494204
## [12,] -0.76850932 1.48766947
## [13,] 0.24245858 0.55674574
## [14,] 0.40999948 -0.55978144
## [15,] 0.56658600 0.60102360
## [16,] -0.53164207 -1.66059181
## [17,] -1.88240420 -1.76650923
## [18,] 0.25964032 -0.63472226
## [19,] 1.43345281 -1.37579701
## [20,] 0.85188947 0.53857607
## [21,] -0.96158191 0.33066599