Package

Data

## `summarise()` has grouped output by 'Participant', 'Ferment.type',
## 'Ferment.days', 'Attribute', 'After'. You can override using the `.groups`
## argument.

Function

## Corr function
corrfunc <- function(data, Cor1, Cor2, title) {
  ggplot(data = data, aes(x = {{Cor1}}, y = {{Cor2}})) +
  geom_jitter()+
  geom_smooth(method = lm)+
  ggtitle(title) +
  stat_cor(method = "pearson") +
  theme_light() 
}

FB + MB: Summary statistics

## Flatbread summary stats
FB.Sum <- FB.Long %>% 
  select(Attribute, Condition, Rating) %>%
  group_by(Condition, Attribute) %>%
  get_summary_stats() 

FB.Sum
## # A tibble: 154 × 15
##    Attribute   Condit…¹ varia…²     n   min   max median    q1    q3   iqr   mad
##    <chr>       <chr>    <fct>   <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>
##  1 Astringency 0 None … Rating     24     0    77    9    2.75  25.2 22.5  11.9 
##  2 Bitter      0 None … Rating     24     0    55    8.5  0.75  17.2 16.5  12.6 
##  3 Liking      0 None … Rating     24     0    64   37   23.8   50   26.2  19.3 
##  4 Salty       0 None … Rating     24     0    54    4    1     10.2  9.25  5.93
##  5 Sour        0 None … Rating     24     0    38    4    0.75   7    6.25  4.45
##  6 Sweet       0 None … Rating     24     0    54    5.5  1      9.5  8.5   6.67
##  7 Umami       0 None … Rating     24     0    76   16    4.75  25.8 21    17.0 
##  8 Astringency 0 None … Rating     24     0    85    8.5  1     21   20    12.6 
##  9 Bitter      0 None … Rating     24     0    59    5.5  0.75  13.2 12.5   8.15
## 10 Liking      0 None … Rating     24     0    64   37   23.8   50   26.2  19.3 
## # … with 144 more rows, 4 more variables: mean <dbl>, sd <dbl>, se <dbl>,
## #   ci <dbl>, and abbreviated variable names ¹​Condition, ²​variable
FB.Sum.wide <- FB.Sum %>% 
  select(Attribute, Condition, mean, sd)%>%
  pivot_wider(names_from = Attribute, values_from = c(mean, sd))
  
## Millet bread summary stats
MB.Sum <- MB.Long %>% 
  select(Attribute, Condition, Rating) %>%
  group_by(Condition, Attribute) %>%
  get_summary_stats()
MB.Sum
## # A tibble: 72 × 15
##    Attribute  Condition varia…¹     n   min   max median    q1    q3   iqr   mad
##    <chr>      <chr>     <fct>   <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl>
##  1 Appearance "0% mill… Rating    120     4     9      7     6     8     2  1.48
##  2 Aroma      "0% mill… Rating    120     4     9      7     6     8     2  1.48
##  3 Color      "0% mill… Rating    120     4     9      7     6     8     2  1.48
##  4 Flavor     "0% mill… Rating    120     3     9      7     6     8     2  1.48
##  5 Overall    "0% mill… Rating    120     3     9      7     6     8     2  1.48
##  6 Texture    "0% mill… Rating    120     4     9      8     7     8     1  1.48
##  7 Appearance "0% mill… Rating    120     2     9      7     6     8     2  1.48
##  8 Aroma      "0% mill… Rating    120     4     9      7     6     8     2  1.48
##  9 Color      "0% mill… Rating    120     3     9      7     6     8     2  1.48
## 10 Flavor     "0% mill… Rating    120     3     9      7     6     8     2  1.48
## # … with 62 more rows, 4 more variables: mean <dbl>, sd <dbl>, se <dbl>,
## #   ci <dbl>, and abbreviated variable name ¹​variable
MB.Sum.wide  <- MB.Sum %>% 
  select(Attribute, Condition, mean, sd) %>%
  pivot_wider(names_from = Attribute, values_from = c(mean, sd))

Flatbread - phytic acid

##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Condition    4 854623  213656   11.08 0.00107 **
## Residuals   10 192862   19286                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Phytate ~ Condition, data = PA)
## 
## $Condition
##                                               diff         lwr        upr
## 5% salt water 4 day-5% salt water 2 day -229.70333  -602.88176  143.47509
## None 0 day-5% salt water 2 day            45.91333  -327.26509  419.09176
## Water 2 day-5% salt water 2 day         -105.78333  -478.96176  267.39509
## Water 4 day-5% salt water 2 day         -619.86000  -993.03842 -246.68158
## None 0 day-5% salt water 4 day           275.61667   -97.56176  648.79509
## Water 2 day-5% salt water 4 day          123.92000  -249.25842  497.09842
## Water 4 day-5% salt water 4 day         -390.15667  -763.33509  -16.97824
## Water 2 day-None 0 day                  -151.69667  -524.87509  221.48176
## Water 4 day-None 0 day                  -665.77333 -1038.95176 -292.59491
## Water 4 day-Water 2 day                 -514.07667  -887.25509 -140.89824
##                                             p adj
## 5% salt water 4 day-5% salt water 2 day 0.3208235
## None 0 day-5% salt water 2 day          0.9934223
## Water 2 day-5% salt water 2 day         0.8777774
## Water 4 day-5% salt water 2 day         0.0019754
## None 0 day-5% salt water 4 day          0.1840199
## Water 2 day-5% salt water 4 day         0.8064655
## Water 4 day-5% salt water 4 day         0.0396261
## Water 2 day-None 0 day                  0.6761816
## Water 4 day-None 0 day                  0.0011451
## Water 4 day-Water 2 day                 0.0074802

## `summarise()` has grouped output by 'Condition'. You can override using the
## `.groups` argument.

Flatbread - reliability

FB.re <- FB.raw %>%
  pivot_wider(names_from = Rep, 
              values_from = c(6:18)) %>%
  select(5:30) 

## Sweet reliability
cor.test(FB.re$Sweet_1, FB.re$Sweet_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Sweet_1 and FB.re$Sweet_2
## t = 7.1893, df = 130, p-value = 4.566e-11
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3988459 0.6454187
## sample estimates:
##       cor 
## 0.5333684
## Salty reliability
cor.test(FB.re$Salty_1, FB.re$Salty_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Salty_1 and FB.re$Salty_2
## t = 11.424, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6107848 0.7838594
## sample estimates:
##       cor 
## 0.7077881
## Umami reliability
cor.test(FB.re$Umami_1, FB.re$Umami_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Umami_1 and FB.re$Umami_2
## t = 10.277, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5630657 0.7541207
## sample estimates:
##       cor 
## 0.6695218
## Bitter reliability
cor.test(FB.re$Bitter_1, FB.re$Bitter_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Bitter_1 and FB.re$Bitter_2
## t = 6.0308, df = 130, p-value = 1.583e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3224488 0.5911995
## sample estimates:
##       cor 
## 0.4675598
## Sour reliability
cor.test(FB.re$Sour_1, FB.re$Sour_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Sour_1 and FB.re$Sour_2
## t = 5.8983, df = 130, p-value = 2.993e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3131931 0.5844615
## sample estimates:
##       cor 
## 0.4594762
## Astringency reliability
cor.test(FB.re$Astringency_1, FB.re$Astringency_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Astringency_1 and FB.re$Astringency_2
## t = 9.521, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5279054 0.7316957
## sample estimates:
##       cor 
## 0.6409604
## After sweet reliability
cor.test(FB.re$After_sweet_1, FB.re$After_sweet_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_sweet_1 and FB.re$After_sweet_2
## t = 10.419, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5693261 0.7580674
## sample estimates:
##       cor 
## 0.6745745
## After salty reliability
cor.test(FB.re$After_salty_1, FB.re$After_salty_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_salty_1 and FB.re$After_salty_2
## t = 10.673, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5802766 0.7649377
## sample estimates:
##       cor 
## 0.6833888
## After umami reliability
cor.test(FB.re$After_umami_1, FB.re$After_umami_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_umami_1 and FB.re$After_umami_2
## t = 9.4876, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.526278 0.730647
## sample estimates:
##       cor 
## 0.6396308
## After bitter reliability
cor.test(FB.re$After_bitter_1, FB.re$After_bitter_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_bitter_1 and FB.re$After_bitter_2
## t = 8.2154, df = 130, p-value = 1.848e-13
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4596331 0.6868545
## sample estimates:
##       cor 
## 0.5845925
## After sour reliability
cor.test(FB.re$After_sour_1, FB.re$After_sour_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_sour_1 and FB.re$After_sour_2
## t = 7.0279, df = 130, p-value = 1.06e-10
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.3886917 0.6383526
## sample estimates:
##       cor 
## 0.5247144
## After astringency reliability
cor.test(FB.re$After_astringency_1, FB.re$After_astringency_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$After_astringency_1 and FB.re$After_astringency_2
## t = 10.563, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5755905 0.7620028
## sample estimates:
##       cor 
## 0.6796206
## Liking reliability
cor.test(FB.re$Liking_1, FB.re$Liking_2)
## 
##  Pearson's product-moment correlation
## 
## data:  FB.re$Liking_1 and FB.re$Liking_2
## t = 12.427, df = 130, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6475050 0.8062154
## sample estimates:
##       cor 
## 0.7368516

Flatbread - drivers of liking

## Corr matrix
FB.cor <- FB.Wide %>% 
  group_by(Condition) %>%
  summarize(Sweet = mean(Sweet), Salty = mean(Salty), Umami = mean(Umami), Bitter = mean(Bitter), Sour = mean(Sour), Astringency = mean(Astringency), Liking = mean(Liking)) %>%
  select(!Condition) %>%
  cor(.)
corrplot(FB.cor, method = "color", order = "original", tl.col="black") 

## Drivers of liking
FB.driver <- FB.Wide %>%
  filter(Ferment.type != "SaltAdded") %>%
  group_by(Ferment.type) %>%
  summarize(Sweet = mean(Sweet), Salty = mean(Salty), Umami = mean(Umami), Bitter = mean(Bitter), Sour = mean(Sour), Astringency = mean(Astringency), Liking = mean(Liking))

Flatbread - difference: qualities X f.condition (medium + time) X rate time

In this section, After = “Yes” means it is an after taste, After = “No” means it is not an after taste.

## Construct a 5 conditions df
FB.5cond.df <- FB.aov.df %>% 
  filter(Condition != "Brine 0") %>%
  convert_as_factor()

## Summary statistics
FB.5cond.df %>% 
  group_by(Condition, Attribute, After) %>%
  filter(Attribute != "Liking") %>%
  get_summary_stats()
## # A tibble: 60 × 16
##    Attribute   After Condi…¹ varia…²     n   min   max median     q1    q3   iqr
##    <fct>       <fct> <fct>   <fct>   <dbl> <dbl> <dbl>  <dbl>  <dbl> <dbl> <dbl>
##  1 Astringency No    Brine 2 Rating     12   1    70.5   7.75  2.62   31   28.4 
##  2 Astringency Yes   Brine 2 Rating     12   0    69     8.5   3.5    29.1 25.6 
##  3 Bitter      No    Brine 2 Rating     12   0    59.5   6.25  1.5    17.6 16.1 
##  4 Bitter      Yes   Brine 2 Rating     12   0    52.5   6.5   0.375  13.6 13.2 
##  5 Salty       No    Brine 2 Rating     12   3.5  65.5  25.5  11.4    37.9 26.5 
##  6 Salty       Yes   Brine 2 Rating     12   0.5  56.5  21.5   9.75   43.5 33.8 
##  7 Sour        No    Brine 2 Rating     12   0    27     3     1.38   10.1  8.75
##  8 Sour        Yes   Brine 2 Rating     12   0    33     2.75  0.875  10.1  9.25
##  9 Sweet       No    Brine 2 Rating     12   0    52.5  13.2   4.25   26.5 22.2 
## 10 Sweet       Yes   Brine 2 Rating     12   0    59    12.5   4.12   26.8 22.6 
## # … with 50 more rows, 5 more variables: mad <dbl>, mean <dbl>, sd <dbl>,
## #   se <dbl>, ci <dbl>, and abbreviated variable names ¹​Condition, ²​variable
## Differences in attributes
    ## Visualization
    FB.5cond.df %>% 
      filter(Attribute != "Liking") %>%
      ggplot(aes(Condition, Rating, color = Attribute)) +
      geom_boxplot() +
      facet_grid(vars(After), vars(Clip)) +
      scale_color_jco() +
      theme_bw()

    ## Repeated measure ANOVA
      FB.5cond.df %>%
        filter(Attribute != "Liking",
               Clip == "No") %>%
        anova_test(., dv = Rating, wid = Participant,
                   within = c(Attribute, Condition, After))  ## significant findings: Attribute, Condition, Attribute X Condition, Condition X After 
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F        p p<.05      ges
## 1                 Attribute   5  55 6.442 8.88e-05     * 1.00e-01
## 2                 Condition   4  44 7.708 8.49e-05     * 5.30e-02
## 3                     After   1  11 0.121 7.35e-01       5.02e-05
## 4       Attribute:Condition  20 220 3.843 3.16e-07     * 7.30e-02
## 5           Attribute:After   5  55 2.119 7.70e-02       1.00e-03
## 6           Condition:After   4  44 3.702 1.10e-02     * 3.00e-03
## 7 Attribute:Condition:After  20 220 1.037 4.20e-01       3.00e-03
## 
## $`Mauchly's Test for Sphericity`
##            Effect     W     p p<.05
## 1       Attribute 0.168 0.323      
## 2       Condition 0.393 0.469      
## 3 Attribute:After 0.128 0.196      
## 4 Condition:After 0.236 0.147      
## 
## $`Sphericity Corrections`
##            Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe      DF[HF]
## 1       Attribute 0.630 3.15, 34.64 0.001000         * 0.912 4.56, 50.15
## 2       Condition 0.661 2.64, 29.09 0.000917         * 0.890 3.56, 39.15
## 3 Attribute:After 0.625 3.12, 34.37 0.114000           0.901 4.51, 49.57
## 4 Condition:After 0.693 2.77, 30.48 0.025000         * 0.949  3.8, 41.78
##      p[HF] p[HF]<.05
## 1 0.000164         *
## 2 0.000183         *
## 3 0.085000          
## 4 0.013000         *
            ## Posthoc - effect of Condition (medium + time) for each Attribute
            PH.CxAtt.aov <- FB.5cond.df %>%
              filter(Attribute != "Liking", Clip == "No") %>%
              select(! After) %>%
              group_by(Participant, Attribute, Condition) %>%
              summarize(Rating = mean(Rating)) %>%
              group_by(Attribute) %>%
              anova_test(., dv = Rating, wid = Participant,
                         within = c(Condition))
## `summarise()` has grouped output by 'Participant', 'Attribute'. You can
## override using the `.groups` argument.
            get_anova_table(PH.CxAtt.aov)
## # A tibble: 6 × 8
##   Attribute   Effect      DFn   DFd     F         p `p<.05`   ges
##   <fct>       <chr>     <dbl> <dbl> <dbl>     <dbl> <chr>   <dbl>
## 1 Astringency Condition  1.76  19.4  4.30 0.032     "*"     0.083
## 2 Bitter      Condition  4     44    8.97 0.0000218 "*"     0.169
## 3 Salty       Condition  2.09  23.0  8.45 0.002     "*"     0.257
## 4 Sour        Condition  4     44    5.81 0.000761  "*"     0.175
## 5 Sweet       Condition  4     44    2.92 0.031     "*"     0.068
## 6 Umami       Condition  4     44    2.02 0.109     ""      0.067
            ## Posthoc - effect of Condition (medium + time) on after taste
            PH.CxAta.aov <- FB.5cond.df %>%
              filter(Attribute != "Liking", Clip == "No") %>%
              select(! Attribute) %>%
              group_by(Participant, After, Condition) %>%
              summarize(Rating = mean(Rating)) %>%
              group_by(After) %>%
              anova_test(., dv = Rating, wid = Participant,
                         within = c(Condition))
## `summarise()` has grouped output by 'Participant', 'After'. You can override
## using the `.groups` argument.
            get_anova_table(PH.CxAta.aov)
## # A tibble: 2 × 8
##   After Effect      DFn   DFd     F        p `p<.05`   ges
##   <fct> <chr>     <dbl> <dbl> <dbl>    <dbl> <chr>   <dbl>
## 1 No    Condition     4    44  7.26 0.000141 *       0.095
## 2 Yes   Condition     4    44  7.32 0.000131 *       0.102
            ## Posthoc - across Attribute
            FB.5cond.df %>%
              filter(Attribute != "Liking") %>%
              filter(Clip == "No") %>%
              dunn_test(Rating ~ Attribute)
## # A tibble: 15 × 9
##    .y.    group1      group2    n1    n2 statistic        p    p.adj p.adj.sig…¹
##  * <chr>  <chr>       <chr>  <int> <int>     <dbl>    <dbl>    <dbl> <chr>      
##  1 Rating Astringency Bitter   120   120    -1.16  2.45e- 1 9.67e- 1 ns         
##  2 Rating Astringency Salty    120   120    -1.80  7.23e- 2 4.60e- 1 ns         
##  3 Rating Astringency Sour     120   120    -3.64  2.75e- 4 3.02e- 3 **         
##  4 Rating Astringency Sweet    120   120    -2.47  1.36e- 2 1.20e- 1 ns         
##  5 Rating Astringency Umami    120   120     3.07  2.14e- 3 2.14e- 2 *          
##  6 Rating Bitter      Salty    120   120    -0.635 5.26e- 1 1   e+ 0 ns         
##  7 Rating Bitter      Sour     120   120    -2.48  1.33e- 2 1.20e- 1 ns         
##  8 Rating Bitter      Sweet    120   120    -1.30  1.92e- 1 9.60e- 1 ns         
##  9 Rating Bitter      Umami    120   120     4.23  2.30e- 5 2.76e- 4 ***        
## 10 Rating Salty       Sour     120   120    -1.84  6.57e- 2 4.60e- 1 ns         
## 11 Rating Salty       Sweet    120   120    -0.670 5.03e- 1 1   e+ 0 ns         
## 12 Rating Salty       Umami    120   120     4.87  1.13e- 6 1.47e- 5 ****       
## 13 Rating Sour        Sweet    120   120     1.17  2.42e- 1 9.67e- 1 ns         
## 14 Rating Sour        Umami    120   120     6.71  1.96e-11 2.95e-10 ****       
## 15 Rating Sweet       Umami    120   120     5.54  3.06e- 8 4.28e- 7 ****       
## # … with abbreviated variable name ¹​p.adj.signif
            ## Posthoc - across Condition
              FB.5cond.df %>%
              filter(Attribute != "Liking") %>%
              filter (Clip == "No") %>%
              dunn_test(Rating ~ Condition)
## # A tibble: 10 × 9
##    .y.    group1  group2     n1    n2 statistic         p    p.adj p.adj.signif
##  * <chr>  <chr>   <chr>   <int> <int>     <dbl>     <dbl>    <dbl> <chr>       
##  1 Rating Brine 2 Brine 4   144   144    1.19   0.233     0.930    ns          
##  2 Rating Brine 2 Water 0   144   144   -2.76   0.00584   0.0467   *           
##  3 Rating Brine 2 Water 2   144   144   -1.00   0.316     0.930    ns          
##  4 Rating Brine 2 Water 4   144   144    1.14   0.254     0.930    ns          
##  5 Rating Brine 4 Water 0   144   144   -3.95   0.0000780 0.000780 ***         
##  6 Rating Brine 4 Water 2   144   144   -2.20   0.0281    0.197    ns          
##  7 Rating Brine 4 Water 4   144   144   -0.0539 0.957     0.957    ns          
##  8 Rating Water 0 Water 2   144   144    1.75   0.0793    0.397    ns          
##  9 Rating Water 0 Water 4   144   144    3.90   0.0000976 0.000878 ***         
## 10 Rating Water 2 Water 4   144   144    2.14   0.0322    0.197    ns

Flatbread - difference: liking X f.condition (medium + time)

## Construct a 5 conditions df
FB.5cond.df <- FB.aov.df %>% 
  filter(Condition != "Brine 0") 

## Summary statistics
FB.5cond.df %>% 
  filter(Attribute == "Liking") %>%
  group_by(Condition, Attribute) %>%
  get_summary_stats()
## # A tibble: 5 × 15
##   Attri…¹ Condi…² varia…³     n   min   max median    q1    q3   iqr   mad  mean
##   <fct>   <fct>   <fct>   <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Liking  Brine 2 Rating     24  16    73.5   46.5 32.9   63.4  30.5 23.7   46.7
## 2 Liking  Brine 4 Rating     48   3.5  83.5   42.2 27.4   51    23.6 18.5   40.1
## 3 Liking  Water 0 Rating     24   4.5  57     36.2 26.8   45.5  18.8 15.2   34.8
## 4 Liking  Water 2 Rating     24   2.5  53.5   28   25     40.9  15.9  8.15  31.2
## 5 Liking  Water 4 Rating     48   1    95.5   18    6.38  28.9  22.5 18.2   21.6
## # … with 3 more variables: sd <dbl>, se <dbl>, ci <dbl>, and abbreviated
## #   variable names ¹​Attribute, ²​Condition, ³​variable
## Differences in Liking
    ## Visualization
    FB.5cond.df %>% 
      filter(Attribute == "Liking") %>%
      ggplot(aes(Condition, Rating, color = Condition)) +
      geom_boxplot() +
      scale_color_jco() +
      theme_bw()

    ## Repeated measure ANOVA
    FB.5cond.df %>%
      filter(Attribute == "Liking",
             Clip == "No",
             After == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Condition)) ## Significant
## ANOVA Table (type III tests)
## 
## $ANOVA
##      Effect DFn DFd     F        p p<.05   ges
## 1 Condition   4  44 7.737 8.22e-05     * 0.236
## 
## $`Mauchly's Test for Sphericity`
##      Effect     W     p p<.05
## 1 Condition 0.059 0.002     *
## 
## $`Sphericity Corrections`
##      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF] p[HF] p[HF]<.05
## 1 Condition 0.473 1.89, 20.83 0.003         * 0.569 2.28, 25.03 0.002         *
              ## Posthoc - across Condition
              FB.5cond.df %>%
              filter(Attribute == "Liking") %>%
              dunn_test(Rating ~ Condition)
## # A tibble: 10 × 9
##    .y.    group1  group2     n1    n2 statistic            p       p.adj p.adj…¹
##  * <chr>  <chr>   <chr>   <int> <int>     <dbl>        <dbl>       <dbl> <chr>  
##  1 Rating Brine 2 Brine 4    24    48    -1.28  0.202        0.607       ns     
##  2 Rating Brine 2 Water 0    24    24    -1.95  0.0515       0.257       ns     
##  3 Rating Brine 2 Water 2    24    24    -2.65  0.00795      0.0556      ns     
##  4 Rating Brine 2 Water 4    24    48    -5.33  0.0000000977 0.000000977 ****   
##  5 Rating Brine 4 Water 0    48    24    -0.974 0.330        0.660       ns     
##  6 Rating Brine 4 Water 2    48    24    -1.79  0.0735       0.294       ns     
##  7 Rating Brine 4 Water 4    48    48    -4.97  0.000000680  0.00000612  ****   
##  8 Rating Water 0 Water 2    24    24    -0.707 0.480        0.660       ns     
##  9 Rating Water 0 Water 4    24    48    -3.08  0.00206      0.0164      *      
## 10 Rating Water 2 Water 4    24    48    -2.27  0.0234       0.141       ns     
## # … with abbreviated variable name ¹​p.adj.signif

Flatbread - differences, no clip: qualities X f.medium X f.time X rate time

## Summary statistics
FB.5cond.df %>% 
  filter(Attribute == "Liking") %>%
  group_by(Condition, Attribute) %>%
  get_summary_stats()
## # A tibble: 5 × 15
##   Attri…¹ Condi…² varia…³     n   min   max median    q1    q3   iqr   mad  mean
##   <fct>   <fct>   <fct>   <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Liking  Brine 2 Rating     24  16    73.5   46.5 32.9   63.4  30.5 23.7   46.7
## 2 Liking  Brine 4 Rating     48   3.5  83.5   42.2 27.4   51    23.6 18.5   40.1
## 3 Liking  Water 0 Rating     24   4.5  57     36.2 26.8   45.5  18.8 15.2   34.8
## 4 Liking  Water 2 Rating     24   2.5  53.5   28   25     40.9  15.9  8.15  31.2
## 5 Liking  Water 4 Rating     48   1    95.5   18    6.38  28.9  22.5 18.2   21.6
## # … with 3 more variables: sd <dbl>, se <dbl>, ci <dbl>, and abbreviated
## #   variable names ¹​Attribute, ²​Condition, ³​variable
## Differences in attributes
FB.aov.df %>%
  filter(Attribute != "Liking", 
         Clip == "No") %>%
  anova_test(., dv = Rating, wid = Participant,
             within = c(Attribute, Ferment.type, Ferment.days, After))  # rate time (aka. after taste is NOT significant)
## ANOVA Table (type III tests)
## 
## $ANOVA
##                                       Effect DFn DFd      F        p p<.05
## 1                                  Attribute   5  55  6.650 6.58e-05     *
## 2                               Ferment.type   1  11  0.141 7.15e-01      
## 3                               Ferment.days   2  22 11.364 4.08e-04     *
## 4                                      After   1  11  0.130 7.25e-01      
## 5                     Attribute:Ferment.type   5  55  4.955 8.14e-04     *
## 6                     Attribute:Ferment.days  10 110  2.315 1.60e-02     *
## 7                  Ferment.type:Ferment.days   2  22  1.491 2.47e-01      
## 8                            Attribute:After   5  55  3.498 8.00e-03     *
## 9                         Ferment.type:After   1  11  7.255 2.10e-02     *
## 10                        Ferment.days:After   2  22  0.930 4.10e-01      
## 11       Attribute:Ferment.type:Ferment.days  10 110  3.945 1.30e-04     *
## 12              Attribute:Ferment.type:After   5  55  1.735 1.42e-01      
## 13              Attribute:Ferment.days:After  10 110  0.778 6.50e-01      
## 14           Ferment.type:Ferment.days:After   2  22  4.057 3.20e-02     *
## 15 Attribute:Ferment.type:Ferment.days:After  10 110  1.098 3.70e-01      
##         ges
## 1  1.01e-01
## 2  9.60e-05
## 3  6.70e-02
## 4  5.23e-05
## 5  3.30e-02
## 6  1.70e-02
## 7  2.00e-03
## 8  2.00e-03
## 9  1.00e-03
## 10 2.69e-04
## 11 2.30e-02
## 12 9.97e-04
## 13 1.00e-03
## 14 2.00e-03
## 15 1.00e-03
## 
## $`Mauchly's Test for Sphericity`
##                                       Effect        W        p p<.05
## 1                                  Attribute 1.09e-01 1.41e-01      
## 2                               Ferment.days 6.37e-01 1.04e-01      
## 3                     Attribute:Ferment.type 2.10e-02 2.00e-03     *
## 4                     Attribute:Ferment.days 6.96e-06 8.00e-03     *
## 5                  Ferment.type:Ferment.days 7.06e-01 1.76e-01      
## 6                            Attribute:After 1.44e-01 2.47e-01      
## 7                         Ferment.days:After 8.56e-01 4.59e-01      
## 8        Attribute:Ferment.type:Ferment.days 3.50e-07 4.89e-05     *
## 9               Attribute:Ferment.type:After 1.01e-01 1.22e-01      
## 10              Attribute:Ferment.days:After 2.09e-05 3.50e-02     *
## 11           Ferment.type:Ferment.days:After 5.98e-01 7.60e-02      
## 12 Attribute:Ferment.type:Ferment.days:After 3.26e-04 4.75e-01      
## 
## $`Sphericity Corrections`
##                                       Effect   GGe      DF[GG] p[GG] p[GG]<.05
## 1                                  Attribute 0.572 2.86, 31.48 0.002         *
## 2                               Ferment.days 0.733 1.47, 16.14 0.002         *
## 3                     Attribute:Ferment.type 0.504  2.52, 27.7 0.010         *
## 4                     Attribute:Ferment.days 0.340  3.4, 37.36 0.085          
## 5                  Ferment.type:Ferment.days 0.773    1.55, 17 0.250          
## 6                            Attribute:After 0.636 3.18, 34.97 0.024         *
## 7                         Ferment.days:After 0.874 1.75, 19.23 0.400          
## 8        Attribute:Ferment.type:Ferment.days 0.430  4.3, 47.25 0.007         *
## 9               Attribute:Ferment.type:After 0.517 2.58, 28.42 0.188          
## 10              Attribute:Ferment.days:After 0.427 4.27, 46.98 0.553          
## 11           Ferment.type:Ferment.days:After 0.713 1.43, 15.69 0.050         *
## 12 Attribute:Ferment.type:Ferment.days:After 0.502 5.02, 55.19 0.372          
##      HFe       DF[HF]    p[HF] p[HF]<.05
## 1  0.795  3.97, 43.72 0.000293         *
## 2  0.818     1.64, 18 0.001000         *
## 3  0.665  3.33, 36.59 0.004000         *
## 4  0.510   5.1, 56.07 0.054000          
## 5  0.875  1.75, 19.25 0.249000          
## 6  0.924  4.62, 50.85 0.010000         *
## 7  1.026  2.05, 22.56 0.410000          
## 8  0.739   7.39, 81.3 0.000760         *
## 9  0.689  3.45, 37.91 0.170000          
## 10 0.732  7.32, 80.52 0.613000          
## 11 0.790  1.58, 17.37 0.044000         *
## 12 0.973 9.73, 107.03 0.370000
    ## Posthoc - astringency: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Astringency",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 4.710 0.053       0.020
## 2              Ferment.days   2  22 2.613 0.096       0.030
## 3 Ferment.type:Ferment.days   2  22 3.723 0.041     * 0.028
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.670 0.135      
## 2 Ferment.type:Ferment.days 0.768 0.266      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.752  1.5, 16.55 0.114           0.845 1.69, 18.59
## 2 Ferment.type:Ferment.days 0.811 1.62, 17.85 0.052           0.932  1.86, 20.5
##   p[HF] p[HF]<.05
## 1 0.107          
## 2 0.044         *
            # Astrigency, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12 NaN        11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12  -0.378    11   0.712   0.712 "ns"   
## 3 4        Rati… Brine  Water     12    12  -2.59     11   0.025   0.025 "*"    
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Astrigency, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12 -0.225     11 0.826 1     ns     
## 2 Brine        Rati… 0      4         12    12 -0.153     11 0.881 1     ns     
## 3 Brine        Rati… 2      4         12    12  0.0991    11 0.923 1     ns     
## 4 Water        Rati… 0      2         12    12 -0.546     11 0.596 1     ns     
## 5 Water        Rati… 0      4         12    12 -2.23      11 0.048 0.143 ns     
## 6 Water        Rati… 2      4         12    12 -2.27      11 0.044 0.132 ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - astringency after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Astringency",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 4.115 0.067       0.012
## 2              Ferment.days   2  22 3.293 0.056       0.049
## 3 Ferment.type:Ferment.days   2  22 5.464 0.012     * 0.024
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.586 0.069      
## 2 Ferment.type:Ferment.days 0.683 0.149      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.707 1.41, 15.56 0.077           0.781 1.56, 17.19
## 2 Ferment.type:Ferment.days 0.759 1.52, 16.71 0.021         * 0.856 1.71, 18.83
##   p[HF] p[HF]<.05
## 1 0.071          
## 2 0.017         *
            # Astrigency after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Ferme…¹ .y.   group1 group2    n1    n2 statis…²    df       p   p.adj p.adj…³
## * <fct>   <chr> <chr>  <chr>  <int> <int>    <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0       Rati… Brine  Water     12    12 NaN         11 NaN     NaN     ""     
## 2 2       Rati… Brine  Water     12    12  -0.0376    11   0.971   0.971 "ns"   
## 3 4       Rati… Brine  Water     12    12  -2.58      11   0.026   0.026 "*"    
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Astrigency after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -0.913    11 0.381 1     ns     
## 2 Brine        Rati… 0      4         12    12  -1.26     11 0.233 0.699 ns     
## 3 Brine        Rati… 2      4         12    12  -0.596    11 0.563 1     ns     
## 4 Water        Rati… 0      2         12    12  -0.621    11 0.547 1     ns     
## 5 Water        Rati… 0      4         12    12  -2.24     11 0.047 0.141 ns     
## 6 Water        Rati… 2      4         12    12  -2.13     11 0.057 0.17  ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Bitter: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Bitter",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 1.323 0.274       0.005
## 2              Ferment.days   2  22 6.532 0.006     * 0.092
## 3 Ferment.type:Ferment.days   2  22 1.564 0.232       0.007
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.994 0.969      
## 2 Ferment.type:Ferment.days 0.882 0.534      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.994 1.99, 21.86 0.006         * 1.212 2.42, 26.67
## 2 Ferment.type:Ferment.days 0.895 1.79, 19.68 0.234           1.057 2.11, 23.25
##   p[HF] p[HF]<.05
## 1 0.006         *
## 2 0.232
            # Bitter, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12 NaN        11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12  -0.146    11   0.887   0.887 "ns"   
## 3 4        Rati… Brine  Water     12    12  -1.97     11   0.075   0.075 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Bitter, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -0.362    11 0.724 1     ns     
## 2 Brine        Rati… 0      4         12    12  -2.58     11 0.026 0.077 ns     
## 3 Brine        Rati… 2      4         12    12  -1.68     11 0.121 0.363 ns     
## 4 Water        Rati… 0      2         12    12  -0.988    11 0.344 1     ns     
## 5 Water        Rati… 0      4         12    12  -3.48     11 0.005 0.016 *      
## 6 Water        Rati… 2      4         12    12  -3.25     11 0.008 0.023 *      
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Bitter after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Bitter",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd      F        p p<.05   ges
## 1              Ferment.type   1  11 11.337 0.006000     * 0.060
## 2              Ferment.days   2  22 12.457 0.000241     * 0.159
## 3 Ferment.type:Ferment.days   2  22 10.034 0.000800     * 0.073
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.898 0.585      
## 2 Ferment.type:Ferment.days 0.919 0.656      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe
## 1              Ferment.days 0.908 1.82, 19.97 0.000415         * 1.077
## 2 Ferment.type:Ferment.days 0.925 1.85, 20.35 0.001000         * 1.104
##        DF[HF]    p[HF] p[HF]<.05
## 1  2.15, 23.7 0.000241         *
## 2 2.21, 24.29 0.000800         *
            # Bitter after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Ferment.days .y.   group1 group2    n1    n2 stati…¹    df         p     p.adj
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>     <dbl>     <dbl>
## 1 0            Rati… Brine  Water     12    12 NaN        11 NaN       NaN      
## 2 2            Rati… Brine  Water     12    12  -0.795    11   4.43e-1   4.43e-1
## 3 4            Rati… Brine  Water     12    12  -4.54     11   8.44e-4   8.44e-4
## # … with 1 more variable: p.adj.signif <chr>, and abbreviated variable name
## #   ¹​statistic
            # Bitter after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.…¹ .y.   group1 group2    n1    n2 stati…²    df       p p.adj p.adj…³
## * <fct>      <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl> <dbl> <chr>  
## 1 Brine      Rati… 0      2         12    12  -0.177    11 8.63e-1 1     ns     
## 2 Brine      Rati… 0      4         12    12  -1.56     11 1.46e-1 0.438 ns     
## 3 Brine      Rati… 2      4         12    12  -1.39     11 1.91e-1 0.573 ns     
## 4 Water      Rati… 0      2         12    12  -1.74     11 1.1 e-1 0.33  ns     
## 5 Water      Rati… 0      4         12    12  -4.94     11 4.41e-4 0.001 **     
## 6 Water      Rati… 2      4         12    12  -4.42     11 1   e-3 0.003 **     
## # … with abbreviated variable names ¹​Ferment.type, ²​statistic, ³​p.adj.signif
    ## Posthoc - Salty: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Salty",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 9.284 0.011     * 0.153
## 2              Ferment.days   2  22 9.358 0.001     * 0.127
## 3 Ferment.type:Ferment.days   2  22 6.883 0.005     * 0.085
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.813 0.355      
## 2 Ferment.type:Ferment.days 0.796 0.320      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.842 1.68, 18.53 0.002         * 0.978 1.96, 21.51
## 2 Ferment.type:Ferment.days 0.831 1.66, 18.27 0.008         * 0.960 1.92, 21.13
##   p[HF] p[HF]<.05
## 1 0.001         *
## 2 0.005         *
            # Salty, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12  NaN       11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12    2.68    11   0.021   0.021 "*"    
## 3 4        Rati… Brine  Water     12    12    3.04    11   0.011   0.011 "*"    
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Salty, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -3.33     11 0.007 0.02  *      
## 2 Brine        Rati… 0      4         12    12  -3.44     11 0.005 0.016 *      
## 3 Brine        Rati… 2      4         12    12  -0.474    11 0.645 1     ns     
## 4 Water        Rati… 0      2         12    12  -1.19     11 0.26  0.78  ns     
## 5 Water        Rati… 0      4         12    12  -0.744    11 0.472 1     ns     
## 6 Water        Rati… 2      4         12    12   1.12     11 0.286 0.858 ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Salty after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Salty",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd      F     p p<.05   ges
## 1              Ferment.type   1  11 13.609 0.004     * 0.102
## 2              Ferment.days   2  22  7.528 0.003     * 0.110
## 3 Ferment.type:Ferment.days   2  22  3.868 0.036     * 0.055
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.965 0.836      
## 2 Ferment.type:Ferment.days 0.742 0.224      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.966 1.93, 21.25 0.004         * 1.168  2.34, 25.7
## 2 Ferment.type:Ferment.days 0.795 1.59, 17.48 0.049         * 0.907 1.81, 19.95
##   p[HF] p[HF]<.05
## 1 0.003         *
## 2 0.042         *
            # Salty after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12  NaN       11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12    3.47    11   0.005   0.005 "**"   
## 3 4        Rati… Brine  Water     12    12    2.13    11   0.057   0.057 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Salty after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -3.79     11 0.003 0.009 **     
## 2 Brine        Rati… 0      4         12    12  -3.08     11 0.011 0.032 *      
## 3 Brine        Rati… 2      4         12    12   0.359    11 0.727 1     ns     
## 4 Water        Rati… 0      2         12    12  -1.63     11 0.132 0.396 ns     
## 5 Water        Rati… 0      4         12    12  -1.09     11 0.299 0.897 ns     
## 6 Water        Rati… 2      4         12    12  -0.457    11 0.657 1     ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Sour: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Sour",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 1.442 0.255       0.019
## 2              Ferment.days   2  22 6.594 0.006     * 0.125
## 3 Ferment.type:Ferment.days   2  22 0.726 0.495       0.010
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.573 0.062      
## 2 Ferment.type:Ferment.days 0.964 0.832      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.701  1.4, 15.41 0.014         * 0.772 1.54, 16.98
## 2 Ferment.type:Ferment.days 0.965 1.93, 21.23 0.491           1.167 2.33, 25.66
##   p[HF] p[HF]<.05
## 1 0.011         *
## 2 0.495
            # Sour, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12 NaN        11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12  -1.21     11   0.252   0.252 "ns"   
## 3 4        Rati… Brine  Water     12    12  -0.900    11   0.387   0.387 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Sour, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -0.686    11 0.507 1     ns     
## 2 Brine        Rati… 0      4         12    12  -1.74     11 0.11  0.33  ns     
## 3 Brine        Rati… 2      4         12    12  -1.77     11 0.104 0.312 ns     
## 4 Water        Rati… 0      2         12    12  -2.17     11 0.053 0.159 ns     
## 5 Water        Rati… 0      4         12    12  -3.67     11 0.004 0.011 *      
## 6 Water        Rati… 2      4         12    12  -1.35     11 0.204 0.612 ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Sour after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Sour",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd      F        p p<.05   ges
## 1              Ferment.type   1  11 10.317 0.008000     * 0.079
## 2              Ferment.days   2  22  9.623 0.000994     * 0.150
## 3 Ferment.type:Ferment.days   2  22  8.246 0.002000     * 0.055
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.500 0.031     *
## 2 Ferment.type:Ferment.days 0.913 0.636      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.667 1.33, 14.67 0.005         * 0.724 1.45, 15.93
## 2 Ferment.type:Ferment.days 0.920 1.84, 20.25 0.003         * 1.096 2.19, 24.12
##   p[HF] p[HF]<.05
## 1 0.004         *
## 2 0.002         *
            # Sour after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12  NaN       11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12   -2.09    11   0.061   0.061 "ns"   
## 3 4        Rati… Brine  Water     12    12   -3.57    11   0.004   0.004 "**"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Sour after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -0.985    11 0.346 1     ns     
## 2 Brine        Rati… 0      4         12    12  -1.50     11 0.162 0.486 ns     
## 3 Brine        Rati… 2      4         12    12  -1.48     11 0.168 0.504 ns     
## 4 Water        Rati… 0      2         12    12  -2.39     11 0.036 0.107 ns     
## 5 Water        Rati… 0      4         12    12  -4.04     11 0.002 0.006 **     
## 6 Water        Rati… 2      4         12    12  -3.48     11 0.005 0.015 *      
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Sweet: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Sweet",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 6.541 0.027     * 0.042
## 2              Ferment.days   2  22 3.043 0.068       0.058
## 3 Ferment.type:Ferment.days   2  22 4.750 0.019     * 0.025
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.717 0.189      
## 2 Ferment.type:Ferment.days 0.907 0.613      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.779 1.56, 17.14 0.084           0.884 1.77, 19.46
## 2 Ferment.type:Ferment.days 0.915 1.83, 20.13 0.023         * 1.088 2.18, 23.94
##   p[HF] p[HF]<.05
## 1 0.076          
## 2 0.019         *
            # Sweet, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12  NaN       11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12    1.94    11   0.079   0.079 "ns"   
## 3 4        Rati… Brine  Water     12    12    2.71    11   0.02    0.02  "*"    
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Sweet, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -3.08     11 0.011 0.032 *      
## 2 Brine        Rati… 0      4         12    12  -2.60     11 0.025 0.074 ns     
## 3 Brine        Rati… 2      4         12    12  -0.752    11 0.468 1     ns     
## 4 Water        Rati… 0      2         12    12  -1.10     11 0.294 0.882 ns     
## 5 Water        Rati… 0      4         12    12  -0.618    11 0.549 1     ns     
## 6 Water        Rati… 2      4         12    12   0.217    11 0.832 1     ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Sweet after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Sweet",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 3.677 0.081       0.022
## 2              Ferment.days   2  22 0.364 0.699       0.006
## 3 Ferment.type:Ferment.days   2  22 2.700 0.089       0.012
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.945 0.755      
## 2 Ferment.type:Ferment.days 0.853 0.452      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.948  1.9, 20.86 0.688           1.140 2.28, 25.08
## 2 Ferment.type:Ferment.days 0.872 1.74, 19.18 0.098           1.022 2.04, 22.49
##   p[HF] p[HF]<.05
## 1 0.699          
## 2 0.089
            # Sweet after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12  NaN       11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12    1.51    11   0.16    0.16  "ns"   
## 3 4        Rati… Brine  Water     12    12    2.08    11   0.062   0.062 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Sweet after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -0.947    11 0.364 1     ns     
## 2 Brine        Rati… 0      4         12    12  -1.75     11 0.109 0.327 ns     
## 3 Brine        Rati… 2      4         12    12  -0.665    11 0.52  1     ns     
## 4 Water        Rati… 0      2         12    12   0.504    11 0.624 1     ns     
## 5 Water        Rati… 0      4         12    12   0.249    11 0.808 1     ns     
## 6 Water        Rati… 2      4         12    12  -0.215    11 0.833 1     ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Umami: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Umami",
             After == "No", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05   ges
## 1              Ferment.type   1  11 0.225 0.644       0.003
## 2              Ferment.days   2  22 5.138 0.015     * 0.077
## 3 Ferment.type:Ferment.days   2  22 0.325 0.726       0.003
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.705 0.175      
## 2 Ferment.type:Ferment.days 0.868 0.493      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.772 1.54, 16.99 0.024         * 0.875 1.75, 19.24
## 2 Ferment.type:Ferment.days 0.884 1.77, 19.44 0.700           1.040 2.08, 22.88
##   p[HF] p[HF]<.05
## 1 0.019         *
## 2 0.726
            # Umami, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12 NaN        11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12   0.174    11   0.865   0.865 "ns"   
## 3 4        Rati… Brine  Water     12    12   0.701    11   0.498   0.498 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Umami, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -2.02     11 0.069 0.206 ns     
## 2 Brine        Rati… 0      4         12    12  -2.31     11 0.041 0.124 ns     
## 3 Brine        Rati… 2      4         12    12  -0.608    11 0.556 1     ns     
## 4 Water        Rati… 0      2         12    12  -1.99     11 0.072 0.215 ns     
## 5 Water        Rati… 0      4         12    12  -1.47     11 0.171 0.513 ns     
## 6 Water        Rati… 2      4         12    12   0.440    11 0.669 1     ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
    ## Posthoc - Umami after: f.medium X f.time
    FB.aov.df %>%
      filter(Attribute == "Umami",
             After == "Yes", Clip == "No") %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd     F     p p<.05      ges
## 1              Ferment.type   1  11 0.062 0.807       0.000601
## 2              Ferment.days   2  22 7.789 0.003     * 0.099000
## 3 Ferment.type:Ferment.days   2  22 0.027 0.973       0.000309
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.468 0.022     *
## 2 Ferment.type:Ferment.days 0.957 0.803      
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.653 1.31, 14.36  0.01         * 0.705  1.41, 15.5
## 2 Ferment.type:Ferment.days 0.959 1.92, 21.09  0.97           1.157 2.31, 25.45
##   p[HF] p[HF]<.05
## 1 0.008         *
## 2 0.973
            # Umami after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Fermen…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Rati… Brine  Water     12    12 NaN        11 NaN     NaN     ""     
## 2 2        Rati… Brine  Water     12    12   0.176    11   0.863   0.863 "ns"   
## 3 4        Rati… Brine  Water     12    12   0.243    11   0.812   0.812 "ns"   
## # … with abbreviated variable names ¹​Ferment.days, ²​statistic, ³​p.adj.signif
            # Umami after, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "Yes", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12  -2.04     11 0.067 0.2   ns     
## 2 Brine        Rati… 0      4         12    12  -3.41     11 0.006 0.018 *      
## 3 Brine        Rati… 2      4         12    12  -0.705    11 0.495 1     ns     
## 4 Water        Rati… 0      2         12    12  -2.23     11 0.047 0.141 ns     
## 5 Water        Rati… 0      4         12    12  -2.02     11 0.068 0.204 ns     
## 6 Water        Rati… 2      4         12    12  -0.583    11 0.572 1     ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif

Flatbread - differences, no clip, liking: f.medium X f.time X rate time

## Differences in attributes
FB.aov.df %>%
  filter(Attribute == "Liking",
         After =="No", Clip == "No") %>%
  anova_test(., dv = Rating, wid = Participant,
             within = c(Ferment.type, Ferment.days))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                      Effect DFn DFd      F     p p<.05   ges
## 1              Ferment.type   1  11 16.252 0.002     * 0.125
## 2              Ferment.days   2  22  2.809 0.082       0.045
## 3 Ferment.type:Ferment.days   2  22  6.452 0.006     * 0.080
## 
## $`Mauchly's Test for Sphericity`
##                      Effect     W     p p<.05
## 1              Ferment.days 0.765 0.262      
## 2 Ferment.type:Ferment.days 0.267 0.001     *
## 
## $`Sphericity Corrections`
##                      Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Ferment.days 0.810 1.62, 17.81 0.096           0.929 1.86, 20.44
## 2 Ferment.type:Ferment.days 0.577  1.15, 12.7 0.022         * 0.602  1.2, 13.24
##   p[HF] p[HF]<.05
## 1 0.087          
## 2 0.020         *
            # Liking, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Liking",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.days) %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 3 × 11
##   Ferment.days .y.   group1 group2    n1    n2 stati…¹    df         p     p.adj
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>     <dbl>     <dbl>
## 1 0            Rati… Brine  Water     12    12  NaN       11 NaN       NaN      
## 2 2            Rati… Brine  Water     12    12    5.33    11   2.41e-4   2.41e-4
## 3 4            Rati… Brine  Water     12    12    2.92    11   1.4 e-2   1.4 e-2
## # … with 1 more variable: p.adj.signif <chr>, and abbreviated variable name
## #   ¹​statistic
            # Liking, posthoc - pairwise comparisons by f.time
            FB.aov.df %>%
              filter(Attribute == "Liking",
                     After == "No", Clip == "No") %>%
              group_by(Ferment.type) %>%
              pairwise_t_test(
                Rating ~ Ferment.days, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Ferment.type .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 Brine        Rati… 0      2         12    12   -3.14    11 0.009 0.028 *      
## 2 Brine        Rati… 0      4         12    12   -1.28    11 0.225 0.675 ns     
## 3 Brine        Rati… 2      4         12    12    1.28    11 0.227 0.681 ns     
## 4 Water        Rati… 0      2         12    12    1.13    11 0.282 0.846 ns     
## 5 Water        Rati… 0      4         12    12    2.57    11 0.026 0.078 ns     
## 6 Water        Rati… 2      4         12    12    1.96    11 0.076 0.227 ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif

Flatbread - differences, clip: qualities X f.medium X rate time

## Differences in attributes: Attribute X f.type X After taste
FB.aov.df %>%
  filter(Attribute != "Liking",
         Ferment.days == "4", Clip == "Yes") %>%
  anova_test(., dv = Rating, wid = Participant,
             within = c(Attribute, Ferment.type, After)) # rate time (aka. after taste is NOT significant)
## ANOVA Table (type III tests)
## 
## $ANOVA
##                         Effect DFn DFd     F     p p<.05      ges
## 1                    Attribute   5  55 2.454 0.045     * 0.041000
## 2                 Ferment.type   1  11 0.367 0.557       0.000718
## 3                        After   1  11 0.080 0.783       0.000091
## 4       Attribute:Ferment.type   5  55 4.160 0.003     * 0.049000
## 5              Attribute:After   5  55 1.895 0.110       0.004000
## 6           Ferment.type:After   1  11 9.938 0.009     * 0.002000
## 7 Attribute:Ferment.type:After   5  55 2.893 0.022     * 0.005000
## 
## $`Mauchly's Test for Sphericity`
##                         Effect     W     p p<.05
## 1                    Attribute 0.273 0.636      
## 2       Attribute:Ferment.type 0.084 0.079      
## 3              Attribute:After 0.211 0.457      
## 4 Attribute:Ferment.type:After 0.235 0.531      
## 
## $`Sphericity Corrections`
##                         Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe
## 1                    Attribute 0.669 3.34, 36.79 0.073           0.996
## 2       Attribute:Ferment.type 0.550 2.75, 30.23 0.016         * 0.751
## 3              Attribute:After 0.675 3.38, 37.15 0.141           1.011
## 4 Attribute:Ferment.type:After 0.658 3.29, 36.17 0.044         * 0.971
##        DF[HF] p[HF] p[HF]<.05
## 1 4.98, 54.79 0.045         *
## 2  3.75, 41.3 0.007         *
## 3 5.05, 55.59 0.110          
## 4 4.86, 53.43 0.023         *
## Differences in attributes: Attribute X f.type 
FB.aov.df %>%
  filter(Attribute != "Liking",
         Ferment.days == "4", Clip == "Yes", After =="No") %>%
  anova_test(., dv = Rating, wid = Participant,
             within = c(Attribute, Ferment.type)) # rate time (aka. after taste is NOT significant)
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd     F     p p<.05   ges
## 1              Attribute   5  55 2.979 0.019     * 0.061
## 2           Ferment.type   1  11 2.105 0.175       0.005
## 3 Attribute:Ferment.type   5  55 3.104 0.015     * 0.045
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W     p p<.05
## 1              Attribute 0.162 0.296      
## 2 Attribute:Ferment.type 0.082 0.072      
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG] p[GG] p[GG]<.05   HFe      DF[HF]
## 1              Attribute 0.562 2.81, 30.91 0.050         * 0.775  3.87, 42.6
## 2 Attribute:Ferment.type 0.543 2.72, 29.89 0.046         * 0.739 3.69, 40.64
##   p[HF] p[HF]<.05
## 1 0.031         *
## 2 0.028         *
            # Astringency, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     -1.60    11 0.137 0.137 ns
            # Astrigency after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Astringency",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     -1.29    11 0.224 0.224 ns
            # Bitter, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     -1.02    11 0.331 0.331 ns
            # Bitter after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Bitter",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     -3.37    11 0.006 0.006 **
            # Salty, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12      2.49    11  0.03  0.03 *
            # Salty after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Salty",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12      2.51    11 0.029 0.029 *
            # Sour, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12   -0.0308    11 0.976 0.976 ns
            # Sour after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sour",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12    -0.969    11 0.353 0.353 ns
            # Sweet, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     0.241    11 0.814 0.814 ns
            # Sweet after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Sweet",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12      1.02    11 0.328 0.328 ns
            # Umami, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "No", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12      1.61    11 0.135 0.135 ns
            # Umami after, posthoc - pairwise comparisons by f.medium
            FB.aov.df %>%
              filter(Attribute == "Umami",
                     After == "Yes", Clip == "Yes") %>%
              pairwise_t_test(
                Rating ~ Ferment.type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12     0.767    11 0.459 0.459 ns

Flatbread - differences, clip, liking: by f.medium

# Liking - pairwise comparisons by f.medium
FB.aov.df %>%
  filter(Attribute == "Liking",
         After == "No", Clip == "Yes") %>%
  pairwise_t_test(Rating ~ Ferment.type, paired = TRUE,
                  p.adjust.method = "bonferroni")
## # A tibble: 1 × 10
##   .y.    group1 group2    n1    n2 statistic    df     p p.adj p.adj.signif
## * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl> <dbl> <dbl> <chr>       
## 1 Rating Brine  Water     12    12      3.77    11 0.003 0.003 **

Flatbread - differences graphs

## Posthoc graphs for after bitter, saltiness and after sour
FB.driver.taste <- FB.Wide %>%
  filter(Ferment.type != "SaltAdded", After == "No") %>%
  group_by(Condition) %>%
  summarize(mSweet = mean(Sweet), sdSweet = sd(Sweet), mSalty = mean(Salty), sdSalty = sd(Salty), mUmami = mean(Umami), sdUmami = sd(Umami), mBitter = mean(Bitter), sdBitter = sd(Bitter), mSour = mean(Sour), sdSour = sd(Sour), mLiking = mean(Liking), sdLiking = sd(Liking))

FB.driver.taste$Condition <- factor(FB.driver.taste$Condition, 
                              levels = c("0 None No No", "2 Brine No No", "4 Brine No No", "4 Brine Yes No", "2 Water No No", "4 Water No No", "4 Water Yes No"))

FB.driver.ataste <- FB.Wide %>%
  filter(Ferment.type != "SaltAdded", After == "Yes") %>%
  group_by(Condition) %>%
  summarize(mSweet = mean(Sweet), sdSweet = sd(Sweet), mSalty = mean(Salty), sdSalty = sd(Salty), mUmami = mean(Umami), sdUmami = sd(Umami), mBitter = mean(Bitter), sdBitter = sd(Bitter), mSour = mean(Sour), sdSour = sd(Sour), mLiking = mean(Liking), sdLiking = sd(Liking))

FB.driver.ataste$Condition <- factor(FB.driver.ataste$Condition, 
                              levels = c("0 None No Yes", "2 Brine No Yes", "4 Brine No Yes", "4 Brine Yes Yes", "2 Water No Yes", "4 Water No Yes", "4 Water Yes Yes"))

## Overall liking
FB.driver.taste %>%
  select(Condition, mLiking, sdLiking) %>%
  ggplot(aes(x = Condition, y = mLiking, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mLiking - sdLiking/sqrt(12), ymax = mLiking + sdLiking/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 100)+
  theme_bw()

## Bitter aftertaste
FB.driver.ataste %>%
  select(Condition, mBitter, sdBitter) %>%
  ggplot(aes(x = Condition, y = mBitter, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mBitter - sdBitter/sqrt(12), ymax = mBitter + sdBitter/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 50)+
  theme_bw()

## Saltiness
FB.driver.taste %>%
  select(Condition, mSalty, sdSalty) %>%
  ggplot(aes(x = Condition, y = mSalty, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mSalty - sdSalty/sqrt(12), ymax = mSalty + sdSalty/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 50)+
  theme_bw()

## Salty aftertaste
FB.driver.ataste %>%
  select(Condition, mSalty, sdSalty) %>%
  ggplot(aes(x = Condition, y = mSalty, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mSalty - sdSalty/sqrt(12), ymax = mSalty + sdSalty/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 50)+
  theme_bw()

## Sourness
FB.driver.taste %>%
  select(Condition, mSour, sdSour) %>%
  ggplot(aes(x = Condition, y = mSour, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mSour - sdSour/sqrt(12), ymax = mSour + sdSour/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 50)+
  theme_bw()

## Sour aftertaste
FB.driver.ataste %>%
  select(Condition, mSour, sdSour) %>%
  ggplot(aes(x = Condition, y = mSour, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mSour - sdSour/sqrt(12), ymax = mSour + sdSour/sqrt(12), width = 0.3)) +
  scale_fill_manual(values = c("#2E7D32", "#80CBC4", "#009688", "#B2DFDB", "#AFB42B", "#827717", "#E6EE9C"))+
  ylim(0, 50)+
  theme_bw()

Bread - demographics

Demo %>%
  get_summary_stats() 
## # A tibble: 323 × 13
##    variable     n   min   max median     q1     q3   iqr   mad   mean     sd
##    <fct>    <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl>
##  1 ID          30   1    30     15.5   8.25  22.8  14.5  11.1   15.5   8.80 
##  2 Age         30  18    63     27    24     37    13     6.67  31.1  10.0  
##  3 Height      30  60    72     67.5  64     69.8   5.75  4.45  66.6   3.80 
##  4 Weight      30 100   270    160   150    180    30    25.9  164.   34.1  
##  5 BMI         30  19.5  37.7   25.1  22.8   28.0   5.14  3.71  25.9   4.23 
##  6 FN1         30   1     4      2     1      3     2     1.48   2     1.02 
##  7 FN2         30   1     4      2     1      2     1     1.48   1.87  0.937
##  8 FN3         30   1     7      2     2      4.75  2.75  1.48   2.97  1.67 
##  9 FN4         30   1     4      1     1      1     0     0      1.3   0.702
## 10 FN5         30   1     4      1     1      1     0     0      1.3   0.651
## # … with 313 more rows, and 2 more variables: se <dbl>, ci <dbl>
Demo %>%
  count(Sex) 
## # A tibble: 2 × 2
##   Sex        n
##   <chr>  <int>
## 1 Female    20
## 2 Male      10
Demo %>%
  count(Race) 
## # A tibble: 5 × 2
##   Race                n
##   <chr>           <int>
## 1 Asian               9
## 2 Asian/Caucasian     2
## 3 Black/AA            5
## 4 Black/Caucasian     1
## 5 Caucasian          13
## Age & Food Neophobia
Demo %>%
  ggplot(aes(x = Age, y = FNSscore)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## Age & WW Score
Demo %>%
  ggplot(aes(x = Age, y = WWscore)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## BMI & Food Neophobia
Demo %>%
  ggplot(aes(x = BMI, y = FNSscore)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## BMI & WW Score
Demo %>%
  ggplot(aes(x = BMI, y = WWscore)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## FNS & WW Score
Demo %>%
  ggplot(aes(x = FNSscore, y = WWscore)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## FNS & WW Intake
Demo %>%
  ggplot(aes(x = FNSscore, y = WWoz)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

## WW Score & WW Intake
Demo %>%
  ggplot(aes(x = WWscore, y = WWoz)) +
  geom_point() +
  geom_smooth(method = "lm") +
  theme_bw() +
  stat_cor()
## `geom_smooth()` using formula = 'y ~ x'

Bread - reliability

## Overall liking
cor.test(MB.Wide$Overall_1, MB.Wide$Overall_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Overall_1 and MB.Wide$Overall_2
## t = 22.644, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7212086 0.8067407
## sample estimates:
##       cor 
## 0.7673667
## Overall appearance
cor.test(MB.Wide$Appearance_1, MB.Wide$Appearance_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Appearance_1 and MB.Wide$Appearance_2
## t = 20.23, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6781664 0.7751789
## sample estimates:
##       cor 
## 0.7303343
## Overall color
cor.test(MB.Wide$Color_1, MB.Wide$Color_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Color_1 and MB.Wide$Color_2
## t = 26.348, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7738718 0.8447049
## sample estimates:
##       cor 
## 0.8122618
## Overall aroma
cor.test(MB.Wide$Aroma_1, MB.Wide$Aroma_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Aroma_1 and MB.Wide$Aroma_2
## t = 16.863, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6034870 0.7192445
## sample estimates:
##       cor 
## 0.6653462
## Overall texture
cor.test(MB.Wide$Texture_1, MB.Wide$Texture_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Texture_1 and MB.Wide$Texture_2
## t = 26.5, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7757356 0.8460355
## sample estimates:
##       cor 
## 0.8138424
## Overall flavor
cor.test(MB.Wide$Flavor_1, MB.Wide$Flavor_2)
## 
##  Pearson's product-moment correlation
## 
## data:  MB.Wide$Flavor_1 and MB.Wide$Flavor_2
## t = 15.85, df = 358, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5771048 0.6991191
## sample estimates:
##       cor 
## 0.6421613

Bread - drivers of liking

Please note that for the purchase intent question, 1 is coded as “Buy”, 2 is coded as “Maybe”, 3 is coded as “Not Buy”. That is why the relationship between liking and purchase intent is negative.

## corrplot
MB.cor <- MB.sum.df %>% 
  select(!c(Condition, Ferm.Type, Millet.Ratio, Participant)) %>% cor(.)
corrplot(MB.cor, method = 'color', order = 'alphabet', tl.col = 'black')

## Appearance
corrfunc(MB.sum.df, Appearance, Overall, "Appearance X Overall")
## `geom_smooth()` using formula = 'y ~ x'

MB.sum.df %>%
  group_by(Condition) %>%
  summarize(mean_Appearance = mean(Appearance), sd = sd(Appearance)) %>%
  ggplot(aes(x = Condition, y = mean_Appearance, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mean_Appearance - sd/sqrt(12), ymax = mean_Appearance + sd/sqrt(12), width = 0.3)) +  
  scale_fill_manual(values = c("#2E7D32","#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B"))+
  ylim(0, 9) +
  theme_bw()

## Color
corrfunc(MB.sum.df, Color, Overall, "Color X Overall")
## `geom_smooth()` using formula = 'y ~ x'

MB.sum.df %>%
  group_by(Condition) %>%
  summarize(mean_Color = mean(Color), sd = sd(Color)) %>%
  ggplot(aes(x = Condition, y = mean_Color, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mean_Color - sd/sqrt(12), ymax = mean_Color + sd/sqrt(12), width = 0.3)) +  
  scale_fill_manual(values = c("#2E7D32","#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B"))+
  ylim(0, 9) +
  theme_bw()

## Aroma
corrfunc(MB.sum.df, Aroma, Overall, "Aroma X Overall")
## `geom_smooth()` using formula = 'y ~ x'

MB.sum.df %>%
  group_by(Condition) %>%
  summarize(mean_Aroma = mean(Aroma), sd = sd(Aroma)) %>%
  ggplot(aes(x = Condition, y = mean_Aroma, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mean_Aroma - sd/sqrt(12), ymax = mean_Aroma + sd/sqrt(12), width = 0.3)) +  
  scale_fill_manual(values = c("#2E7D32","#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B"))+
  ylim(0, 9) +
  theme_bw()

## Texture
corrfunc(MB.sum.df, Texture, Overall, "Texture X Overall")
## `geom_smooth()` using formula = 'y ~ x'

MB.sum.df %>%
  group_by(Condition) %>%
  summarize(mean_Texture = mean(Texture), sd = sd(Texture)) %>%
  ggplot(aes(x = Condition, y = mean_Texture, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mean_Texture - sd/sqrt(12), ymax = mean_Texture + sd/sqrt(12), width = 0.3)) +  
  scale_fill_manual(values = c("#2E7D32","#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B"))+
  ylim(0, 9) +
  theme_bw()

## Flavor
corrfunc(MB.sum.df, Flavor, Overall, "Flavor X Overall")
## `geom_smooth()` using formula = 'y ~ x'

MB.sum.df %>%
  group_by(Condition) %>%
  summarize(mean_Flavor = mean(Flavor), sd = sd(Flavor)) %>%
  ggplot(aes(x = Condition, y = mean_Flavor, fill = Condition)) +
  geom_bar(stat = "identity", color = "black", position = position_dodge()) +
  geom_errorbar(aes(ymin = mean_Flavor - sd/sqrt(12), ymax = mean_Flavor + sd/sqrt(12), width = 0.3)) +  
  scale_fill_manual(values = c("#2E7D32","#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B", "#AFB42B"))+
  ylim(0, 9) +
  theme_bw()

Bread - difference: All qualities

## F.type X ratio X attributes
MB.sum.long.df %>%
  anova_test(., dv = Rating, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio, Attribute))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                             Effect DFn DFd      F        p p<.05   ges
## 1                        Ferm.Type   1  29 25.034 2.51e-05     * 0.025
## 2                     Millet.Ratio   5 145 87.706 4.51e-42     * 0.282
## 3                        Attribute   5 145 13.576 7.28e-11     * 0.041
## 4           Ferm.Type:Millet.Ratio   5 145 19.799 5.21e-15     * 0.037
## 5              Ferm.Type:Attribute   5 145 10.620 1.04e-08     * 0.007
## 6           Millet.Ratio:Attribute  25 725 30.629 3.83e-96     * 0.086
## 7 Ferm.Type:Millet.Ratio:Attribute  25 725  4.487 6.18e-12     * 0.009
## 
## $`Mauchly's Test for Sphericity`
##                             Effect        W        p p<.05
## 1                     Millet.Ratio 2.60e-02 1.17e-14     *
## 2                        Attribute 1.08e-01 1.19e-07     *
## 3           Ferm.Type:Millet.Ratio 2.42e-01 4.71e-04     *
## 4              Ferm.Type:Attribute 7.40e-02 1.80e-09     *
## 5           Millet.Ratio:Attribute 1.09e-13 1.20e-18     *
## 6 Ferm.Type:Millet.Ratio:Attribute 5.56e-14 4.59e-20     *
## 
## $`Sphericity Corrections`
##                             Effect   GGe       DF[GG]    p[GG] p[GG]<.05   HFe
## 1                     Millet.Ratio 0.430  2.15, 62.28 1.94e-19         * 0.465
## 2                        Attribute 0.632  3.16, 91.65 1.26e-07         * 0.718
## 3           Ferm.Type:Millet.Ratio 0.617  3.09, 89.49 4.30e-10         * 0.699
## 4              Ferm.Type:Attribute 0.530  2.65, 76.91 1.51e-05         * 0.589
## 5           Millet.Ratio:Attribute 0.309 7.72, 223.98 2.02e-31         * 0.432
## 6 Ferm.Type:Millet.Ratio:Attribute 0.374 9.34, 270.93 1.24e-05         * 0.566
##          DF[HF]    p[HF] p[HF]<.05
## 1   2.32, 67.42 7.54e-21         *
## 2  3.59, 104.17 2.17e-08         *
## 3   3.5, 101.36 3.79e-11         *
## 4   2.94, 85.37 6.07e-06         *
## 5  10.8, 313.08 5.88e-43         *
## 6 14.16, 410.53 1.37e-07         *
    ## Posthoc - F.type X ratio
    MB.sum.long.df %>%
      group_by(Ferm.Type, Millet.Ratio, Participant) %>%
      summarize(Rating = mean(Rating)) %>%
      ungroup() %>%
      anova_test(., dv = Rating, wid = Participant,
                 within = c(Ferm.Type, Millet.Ratio))
## `summarise()` has grouped output by 'Ferm.Type', 'Millet.Ratio'. You can
## override using the `.groups` argument.
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05   ges
## 1              Ferm.Type   1  29 25.034 2.51e-05     * 0.033
## 2           Millet.Ratio   5 145 87.706 4.51e-42     * 0.346
## 3 Ferm.Type:Millet.Ratio   5 145 19.799 5.21e-15     * 0.049
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.026 1.07e-14     *
## 2 Ferm.Type:Millet.Ratio 0.242 4.62e-04     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe      DF[HF]
## 1           Millet.Ratio 0.430 2.15, 62.28 1.94e-19         * 0.465 2.32, 67.42
## 2 Ferm.Type:Millet.Ratio 0.617 3.09, 89.49 4.30e-10         * 0.699 3.5, 101.36
##      p[HF] p[HF]<.05
## 1 7.54e-21         *
## 2 3.79e-11         *
            # Overall liking, posthoc - pairwise comparisons by f.type
            MB.sum.long.df %>%
              group_by(Ferm.Type, Millet.Ratio, Participant) %>%
              summarize(Rating = mean(Rating)) %>%
              ungroup() %>% 
              pairwise_t_test(
                Rating ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## `summarise()` has grouped output by 'Ferm.Type', 'Millet.Ratio'. You can
## override using the `.groups` argument.
## # A tibble: 1 × 10
##   .y.    group1    group2         n1    n2 stati…¹    df       p   p.adj p.adj…²
## * <chr>  <chr>     <chr>       <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 Rating Fermented Unfermented   180   180   -6.06   179 7.81e-9 7.81e-9 ****   
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
            # Overall liking, posthoc - pairwise comparisons by ratio
            MB.sum.long.df %>%
              group_by(Ferm.Type, Millet.Ratio, Participant) %>%
              summarize(Rating = mean(Rating)) %>%
              ungroup() %>% 
              pairwise_t_test(
                Rating ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## `summarise()` has grouped output by 'Ferm.Type', 'Millet.Ratio'. You can
## override using the `.groups` argument.
## # A tibble: 15 × 10
##    .y.    group1 group2    n1    n2 statistic    df        p    p.adj p.adj.si…¹
##  * <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl>    <dbl>    <dbl> <chr>     
##  1 Rating 0      10        60    60     0.134    59 8.94e- 1 1   e+ 0 ns        
##  2 Rating 0      20        60    60     2.64     59 1.1 e- 2 1.6 e- 1 ns        
##  3 Rating 0      30        60    60     7.20     59 1.25e- 9 1.88e- 8 ****      
##  4 Rating 0      40        60    60    10.2      59 1.46e-14 2.19e-13 ****      
##  5 Rating 0      50        60    60    11.3      59 2.05e-16 3.08e-15 ****      
##  6 Rating 10     20        60    60     2.40     59 2   e- 2 2.92e- 1 ns        
##  7 Rating 10     30        60    60    10.2      59 1.29e-14 1.94e-13 ****      
##  8 Rating 10     40        60    60    12.7      59 1.43e-18 2.15e-17 ****      
##  9 Rating 10     50        60    60    12.6      59 2.56e-18 3.84e-17 ****      
## 10 Rating 20     30        60    60     6.54     59 1.62e- 8 2.43e- 7 ****      
## 11 Rating 20     40        60    60    10.8      59 1.33e-15 2   e-14 ****      
## 12 Rating 20     50        60    60    12.6      59 2.11e-18 3.16e-17 ****      
## 13 Rating 30     40        60    60     7.95     59 6.54e-11 9.81e-10 ****      
## 14 Rating 30     50        60    60     8.63     59 4.71e-12 7.06e-11 ****      
## 15 Rating 40     50        60    60     5.80     59 2.78e- 7 4.17e- 6 ****      
## # … with abbreviated variable name ¹​p.adj.signif

Bread - difference: Overall liking

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Overall, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05   ges
## 1              Ferm.Type   1  29 34.718 2.14e-06     * 0.060
## 2           Millet.Ratio   5 145 93.117 1.72e-43     * 0.449
## 3 Ferm.Type:Millet.Ratio   5 145 17.590 1.35e-13     * 0.068
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.078 3.05e-09     *
## 2 Ferm.Type:Millet.Ratio 0.432 6.60e-02      
## 
## $`Sphericity Corrections`
##                   Effect   GGe       DF[GG]   p[GG] p[GG]<.05   HFe
## 1           Millet.Ratio 0.497  2.48, 72.04 8.0e-23         * 0.547
## 2 Ferm.Type:Millet.Ratio 0.718 3.59, 104.06 2.3e-10         * 0.832
##         DF[HF]    p[HF] p[HF]<.05
## 1  2.74, 79.32 6.88e-25         *
## 2 4.16, 120.57 1.14e-11         *
            # Overall liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Overall)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Overall ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Over… Ferme… Unfer…    30    30  0.0790    29 9.38e-1 9.38e-1 ns     
## 2 10       Over… Ferme… Unfer…    30    30 -2.19      29 3.7 e-2 3.7 e-2 *      
## 3 20       Over… Ferme… Unfer…    30    30  0.452     29 6.54e-1 6.54e-1 ns     
## 4 30       Over… Ferme… Unfer…    30    30 -3.49      29 2   e-3 2   e-3 **     
## 5 40       Over… Ferme… Unfer…    30    30 -5.29      29 1.12e-5 1.12e-5 ****   
## 6 50       Over… Ferme… Unfer…    30    30 -6.19      29 9.51e-7 9.51e-7 ****   
## # … with abbreviated variable names ¹​Millet.Ratio, ²​statistic, ³​p.adj.signif
            # Overall liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Overall)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Overall ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.Type .y.     group1 group2    n1    n2 statistic    df        p    p.adj
##  * <fct>     <chr>   <chr>  <chr>  <int> <int>     <dbl> <dbl>    <dbl>    <dbl>
##  1 Fermented Overall 0      10        30    30     0.586    29 5.63e- 1 1   e+ 0
##  2 Fermented Overall 0      20        30    30     1.23     29 2.27e- 1 1   e+ 0
##  3 Fermented Overall 0      30        30    30     5.77     29 3.02e- 6 4.53e- 5
##  4 Fermented Overall 0      40        30    30     8.82     29 1.05e- 9 1.58e- 8
##  5 Fermented Overall 0      50        30    30    12.1      29 7.73e-13 1.16e-11
##  6 Fermented Overall 10     20        30    30     0.656    29 5.17e- 1 1   e+ 0
##  7 Fermented Overall 10     30        30    30     9.12     29 5.07e-10 7.61e- 9
##  8 Fermented Overall 10     40        30    30    11.4      29 2.94e-12 4.41e-11
##  9 Fermented Overall 10     50        30    30    13.9      29 2.34e-14 3.51e-13
## 10 Fermented Overall 20     30        30    30     6.04     29 1.42e- 6 2.13e- 5
## # … with 20 more rows, and 1 more variable: p.adj.signif <chr>
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Overall, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Overall
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Overall, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Overall, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference: Appearance

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Appearance, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05   ges
## 1              Ferm.Type   1  29  2.857 1.02e-01       0.003
## 2           Millet.Ratio   5 145 56.227 2.94e-32     * 0.260
## 3 Ferm.Type:Millet.Ratio   5 145  2.156 6.20e-02       0.011
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.023 2.47e-15     *
## 2 Ferm.Type:Millet.Ratio 0.154 5.06e-06     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe      DF[HF]
## 1           Millet.Ratio 0.488 2.44, 70.79 5.93e-17         * 0.536 2.68, 77.78
## 2 Ferm.Type:Millet.Ratio 0.550 2.75, 79.68 1.05e-01           0.613 3.06, 88.84
##      p[HF] p[HF]<.05
## 1 2.12e-18         *
## 2 9.80e-02
            # Appearance liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Appearance)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Appearance ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet.Ratio .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 0            Appe… Ferme… Unfer…    30    30  1.99      29 0.056 0.056 ns     
## 2 10           Appe… Ferme… Unfer…    30    30 -3.17      29 0.004 0.004 **     
## 3 20           Appe… Ferme… Unfer…    30    30 -0.329     29 0.744 0.744 ns     
## 4 30           Appe… Ferme… Unfer…    30    30  0.0584    29 0.954 0.954 ns     
## 5 40           Appe… Ferme… Unfer…    30    30 -1.17      29 0.252 0.252 ns     
## 6 50           Appe… Ferme… Unfer…    30    30 -1.74      29 0.092 0.092 ns     
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
            # Appearance liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Appearance)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Appearance ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
##  * <fct>   <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
##  1 Fermen… Appe… 0      10        30    30    2.68    29 1.2 e-2 1.8 e-1 ns     
##  2 Fermen… Appe… 0      20        30    30    3.03    29 5   e-3 7.7 e-2 ns     
##  3 Fermen… Appe… 0      30        30    30    3.67    29 9.83e-4 1.5 e-2 *      
##  4 Fermen… Appe… 0      40        30    30    8.15    29 5.5 e-9 8.25e-8 ****   
##  5 Fermen… Appe… 0      50        30    30    7.73    29 1.59e-8 2.39e-7 ****   
##  6 Fermen… Appe… 10     20        30    30    1.13    29 2.7 e-1 1   e+0 ns     
##  7 Fermen… Appe… 10     30        30    30    2.99    29 6   e-3 8.5 e-2 ns     
##  8 Fermen… Appe… 10     40        30    30    7.88    29 1.09e-8 1.64e-7 ****   
##  9 Fermen… Appe… 10     50        30    30    6.98    29 1.13e-7 1.7 e-6 ****   
## 10 Fermen… Appe… 20     30        30    30    1.38    29 1.79e-1 1   e+0 ns     
## # … with 20 more rows, and abbreviated variable names ¹​Ferm.Type, ²​statistic,
## #   ³​p.adj.signif
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Appearance, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Appearance
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Appearance, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Appearance, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference: Color

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Color, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05      ges
## 1              Ferm.Type   1  29  0.839 3.67e-01       0.000447
## 2           Millet.Ratio   5 145 12.628 3.46e-10     * 0.057000
## 3 Ferm.Type:Millet.Ratio   5 145  4.734 4.91e-04     * 0.008000
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.015 9.66e-18     *
## 2 Ferm.Type:Millet.Ratio 0.335 9.00e-03     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe
## 1           Millet.Ratio 0.357 1.78, 51.76 6.38e-05         * 0.379
## 2 Ferm.Type:Millet.Ratio 0.683 3.41, 98.97 3.00e-03         * 0.785
##         DF[HF]   p[HF] p[HF]<.05
## 1  1.89, 54.93 4.2e-05         *
## 2 3.92, 113.77 2.0e-03         *
            # Color liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Color)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Color ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet.Ratio .y.   group1 group2    n1    n2 stati…¹    df     p p.adj p.adj…²
## * <fct>        <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl> <dbl> <dbl> <chr>  
## 1 0            Color Ferme… Unfer…    30    30   1.92     29 0.065 0.065 ns     
## 2 10           Color Ferme… Unfer…    30    30  -2.48     29 0.019 0.019 *      
## 3 20           Color Ferme… Unfer…    30    30   1.90     29 0.067 0.067 ns     
## 4 30           Color Ferme… Unfer…    30    30   0.666    29 0.51  0.51  ns     
## 5 40           Color Ferme… Unfer…    30    30  -1.16     29 0.255 0.255 ns     
## 6 50           Color Ferme… Unfer…    30    30  -2.57     29 0.016 0.016 *      
## # … with abbreviated variable names ¹​statistic, ²​p.adj.signif
            # Color liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Color)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Color ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
##  * <fct>   <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
##  1 Fermen… Color 0      10        30    30    2.38    29 2.4 e-2 3.63e-1 ns     
##  2 Fermen… Color 0      20        30    30    1.04    29 3.09e-1 1   e+0 ns     
##  3 Fermen… Color 0      30        30    30    2.49    29 1.9 e-2 2.79e-1 ns     
##  4 Fermen… Color 0      40        30    30    3.73    29 8.33e-4 1.2 e-2 *      
##  5 Fermen… Color 0      50        30    30    4.35    29 1.54e-4 2   e-3 **     
##  6 Fermen… Color 10     20        30    30   -2.06    29 4.9 e-2 7.35e-1 ns     
##  7 Fermen… Color 10     30        30    30    1.41    29 1.7 e-1 1   e+0 ns     
##  8 Fermen… Color 10     40        30    30    3.96    29 4.52e-4 7   e-3 **     
##  9 Fermen… Color 10     50        30    30    4.68    29 6.12e-5 9.18e-4 ***    
## 10 Fermen… Color 20     30        30    30    2.41    29 2.2 e-2 3.34e-1 ns     
## # … with 20 more rows, and abbreviated variable names ¹​Ferm.Type, ²​statistic,
## #   ³​p.adj.signif
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Color, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Appearance
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Color, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Color, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference: Aroma

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Aroma, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05   ges
## 1              Ferm.Type   1  29 13.494 9.63e-04     * 0.047
## 2           Millet.Ratio   5 145 15.711 2.41e-12     * 0.097
## 3 Ferm.Type:Millet.Ratio   5 145 16.375 8.60e-13     * 0.068
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.051 2.67e-11     *
## 2 Ferm.Type:Millet.Ratio 0.145 2.68e-06     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe      DF[HF]
## 1           Millet.Ratio 0.446 2.23, 64.67 1.17e-06         * 0.485  2.42, 70.3
## 2 Ferm.Type:Millet.Ratio 0.544  2.72, 78.9 6.39e-08         * 0.606 3.03, 87.86
##      p[HF] p[HF]<.05
## 1 4.65e-07         *
## 2 1.38e-08         *
            # Aroma liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Aroma)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Aroma ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Aroma Ferme… Unfer…    30    30   0.872    29 3.9 e-1 3.9 e-1 ns     
## 2 10       Aroma Ferme… Unfer…    30    30  -1.91     29 6.6 e-2 6.6 e-2 ns     
## 3 20       Aroma Ferme… Unfer…    30    30  -0.368    29 7.15e-1 7.15e-1 ns     
## 4 30       Aroma Ferme… Unfer…    30    30  -1.88     29 7   e-2 7   e-2 ns     
## 5 40       Aroma Ferme… Unfer…    30    30  -3.55     29 1   e-3 1   e-3 **     
## 6 50       Aroma Ferme… Unfer…    30    30  -5.51     29 6.21e-6 6.21e-6 ****   
## # … with abbreviated variable names ¹​Millet.Ratio, ²​statistic, ³​p.adj.signif
            # Aroma liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Aroma)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Aroma ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
##  * <fct>   <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
##  1 Fermen… Aroma 0      10        30    30  1.18      29 2.49e-1 1   e+0 ns     
##  2 Fermen… Aroma 0      20        30    30  0.0671    29 9.47e-1 1   e+0 ns     
##  3 Fermen… Aroma 0      30        30    30  2.21      29 3.5 e-2 5.26e-1 ns     
##  4 Fermen… Aroma 0      40        30    30  3.43      29 2   e-3 2.8 e-2 *      
##  5 Fermen… Aroma 0      50        30    30  5.73      29 3.35e-6 5.02e-5 ****   
##  6 Fermen… Aroma 10     20        30    30 -1.50      29 1.45e-1 1   e+0 ns     
##  7 Fermen… Aroma 10     30        30    30  1.97      29 5.9 e-2 8.78e-1 ns     
##  8 Fermen… Aroma 10     40        30    30  3.76      29 7.67e-4 1.2 e-2 *      
##  9 Fermen… Aroma 10     50        30    30  5.84      29 2.48e-6 3.72e-5 ****   
## 10 Fermen… Aroma 20     30        30    30  3.38      29 2   e-3 3.2 e-2 *      
## # … with 20 more rows, and abbreviated variable names ¹​Ferm.Type, ²​statistic,
## #   ³​p.adj.signif
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Aroma, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Appearance
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Aroma, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Aroma, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference: Texture

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Texture, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd       F        p p<.05   ges
## 1              Ferm.Type   1  29  23.125 4.31e-05     * 0.029
## 2           Millet.Ratio   5 145 121.044 6.14e-50     * 0.528
## 3 Ferm.Type:Millet.Ratio   5 145   9.078 1.57e-07     * 0.037
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.066 5.13e-10     *
## 2 Ferm.Type:Millet.Ratio 0.222 2.06e-04     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe
## 1           Millet.Ratio 0.505 2.53, 73.23 1.98e-26         * 0.557
## 2 Ferm.Type:Millet.Ratio 0.617 3.09, 89.47 2.18e-05         * 0.699
##         DF[HF]    p[HF] p[HF]<.05
## 1  2.79, 80.79 6.54e-29         *
## 2 3.49, 101.34 7.54e-06         *
            # Texture liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Texture)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Texture ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Text… Ferme… Unfer…    30    30   1.33     29 1.93e-1 1.93e-1 ns     
## 2 10       Text… Ferme… Unfer…    30    30  -1.90     29 6.8 e-2 6.8 e-2 ns     
## 3 20       Text… Ferme… Unfer…    30    30   0.790    29 4.36e-1 4.36e-1 ns     
## 4 30       Text… Ferme… Unfer…    30    30  -3.29     29 3   e-3 3   e-3 **     
## 5 40       Text… Ferme… Unfer…    30    30  -4.46     29 1.12e-4 1.12e-4 ***    
## 6 50       Text… Ferme… Unfer…    30    30  -4.15     29 2.69e-4 2.69e-4 ***    
## # … with abbreviated variable names ¹​Millet.Ratio, ²​statistic, ³​p.adj.signif
            # Texture liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Texture)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Texture ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.Type .y.     group1 group2    n1    n2 statistic    df        p    p.adj
##  * <fct>     <chr>   <chr>  <chr>  <int> <int>     <dbl> <dbl>    <dbl>    <dbl>
##  1 Fermented Texture 0      10        30    30     2.30     29 2.9 e- 2 4.32e- 1
##  2 Fermented Texture 0      20        30    30     3.43     29 2   e- 3 2.7 e- 2
##  3 Fermented Texture 0      30        30    30     8.14     29 5.65e- 9 8.48e- 8
##  4 Fermented Texture 0      40        30    30    13.0      29 1.33e-13 2   e-12
##  5 Fermented Texture 0      50        30    30    14.8      29 4.69e-15 7.04e-14
##  6 Fermented Texture 10     20        30    30     0.239    29 8.13e- 1 1   e+ 0
##  7 Fermented Texture 10     30        30    30     9.12     29 5.15e-10 7.72e- 9
##  8 Fermented Texture 10     40        30    30    11.8      29 1.25e-12 1.88e-11
##  9 Fermented Texture 10     50        30    30    11.8      29 1.33e-12 2   e-11
## 10 Fermented Texture 20     30        30    30     6.66     29 2.66e- 7 3.99e- 6
## # … with 20 more rows, and 1 more variable: p.adj.signif <chr>
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Texture, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Appearance
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Texture, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Texture, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference: Flavor

## F.type X ratio
MB.sum.df %>%
  anova_test(., dv = Flavor, wid = Participant,
             within = c(Ferm.Type, Millet.Ratio))
## ANOVA Table (type III tests)
## 
## $ANOVA
##                   Effect DFn DFd      F        p p<.05   ges
## 1              Ferm.Type   1  29 28.478 9.96e-06     * 0.057
## 2           Millet.Ratio   5 145 42.039 1.36e-26     * 0.290
## 3 Ferm.Type:Millet.Ratio   5 145 23.675 2.37e-17     * 0.088
## 
## $`Mauchly's Test for Sphericity`
##                   Effect     W        p p<.05
## 1           Millet.Ratio 0.073 1.50e-09     *
## 2 Ferm.Type:Millet.Ratio 0.239 4.19e-04     *
## 
## $`Sphericity Corrections`
##                   Effect   GGe      DF[GG]    p[GG] p[GG]<.05   HFe
## 1           Millet.Ratio 0.458 2.29, 66.36 2.03e-13         * 0.499
## 2 Ferm.Type:Millet.Ratio 0.642 3.21, 93.08 6.24e-12         * 0.731
##         DF[HF]    p[HF] p[HF]<.05
## 1   2.5, 72.36 1.99e-14         *
## 2 3.66, 106.02 2.76e-13         *
            # Flavor liking, posthoc - pairwise comparisons by f.type
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Flavor)) %>%
              group_by(Millet.Ratio) %>%
              pairwise_t_test(
                Flavor ~ Ferm.Type, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 6 × 11
##   Millet…¹ .y.   group1 group2    n1    n2 stati…²    df       p   p.adj p.adj…³
## * <fct>    <chr> <chr>  <chr>  <int> <int>   <dbl> <dbl>   <dbl>   <dbl> <chr>  
## 1 0        Flav… Ferme… Unfer…    30    30  -0.514    29 6.11e-1 6.11e-1 ns     
## 2 10       Flav… Ferme… Unfer…    30    30  -1.17     29 2.5 e-1 2.5 e-1 ns     
## 3 20       Flav… Ferme… Unfer…    30    30  -0.311    29 7.58e-1 7.58e-1 ns     
## 4 30       Flav… Ferme… Unfer…    30    30  -1.57     29 1.27e-1 1.27e-1 ns     
## 5 40       Flav… Ferme… Unfer…    30    30  -4.01     29 3.89e-4 3.89e-4 ***    
## 6 50       Flav… Ferme… Unfer…    30    30  -8.06     29 6.87e-9 6.87e-9 ****   
## # … with abbreviated variable names ¹​Millet.Ratio, ²​statistic, ³​p.adj.signif
            # Flavor liking, posthoc - pairwise comparisons by ratio
            MB.sum.df %>%
            select(c(Participant, Ferm.Type, Millet.Ratio, Flavor)) %>%
              group_by(Ferm.Type) %>%
              pairwise_t_test(
                Flavor ~ Millet.Ratio, paired = TRUE,
                p.adjust.method = "bonferroni")
## # A tibble: 30 × 11
##    Ferm.Type .y.    group1 group2    n1    n2 statistic    df        p    p.adj
##  * <fct>     <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl>    <dbl>    <dbl>
##  1 Fermented Flavor 0      10        30    30    -0.357    29 7.24e- 1 1   e+ 0
##  2 Fermented Flavor 0      20        30    30     0.711    29 4.83e- 1 1   e+ 0
##  3 Fermented Flavor 0      30        30    30     3.16     29 4   e- 3 5.6 e- 2
##  4 Fermented Flavor 0      40        30    30     4.82     29 4.14e- 5 6.21e- 4
##  5 Fermented Flavor 0      50        30    30     8.38     29 3.11e- 9 4.66e- 8
##  6 Fermented Flavor 10     20        30    30     1.36     29 1.84e- 1 1   e+ 0
##  7 Fermented Flavor 10     30        30    30     5.89     29 2.14e- 6 3.21e- 5
##  8 Fermented Flavor 10     40        30    30     8.44     29 2.69e- 9 4.04e- 8
##  9 Fermented Flavor 10     50        30    30    11.9      29 1.04e-12 1.56e-11
## 10 Fermented Flavor 20     30        30    30     3.74     29 7.99e- 4 1.2 e- 2
## # … with 20 more rows, and 1 more variable: p.adj.signif <chr>
## Scatter plot
  MB.sum.df %>%
    ggplot(aes(x = Millet.Ratio, y = Flavor, color = Ferm.Type, group = Ferm.Type)) +
    geom_jitter() +
    geom_smooth(method = "lm")+
    scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
    stat_cor()+
    theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

  ## Boxplot
       ## Appearance
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Flavor, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

## Faceted by millet ratio
      MB.sum.df %>%
        ggplot(aes(x = Ferm.Type, y = Flavor, color = Ferm.Type)) +
        geom_boxplot() +
        geom_jitter()+
        facet_wrap(~as.factor(Millet.Ratio)) +
        stat_compare_means(paired = TRUE, method = "t.test") +
        scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
        theme_bw()

Bread - difference, graphs: Overall Liking, Unfermented

Overall.Unferm <- MB.Long %>%
  filter(Attribute == "Overall") %>%
  filter(Ferm.Type == "Unfermented") %>%
  group_by(Millet.Ratio, Participant) %>%
  summarize(Rating = mean(Rating)) %>% ungroup()
## `summarise()` has grouped output by 'Millet.Ratio'. You can override using the
## `.groups` argument.
## Boxplot
      Overall.Unferm %>%
        ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
        geom_boxplot() +
        geom_jitter()+
        scale_color_manual(values = c("#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32", "#2E7D32"))+
        theme_bw() +
        scale_y_continuous(breaks = seq(0, 9), limits = c(0, 9))+ 
        ggtitle("Unfermented Millet Subsitution Ratio vs Liking")

  ## 0 vs 10
  Overall.Unferm %>% 
    filter(Millet.Ratio%in%c("0", "10")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#2E7D32", "#2E7D32"))+
    theme_bw()

  ## 0 vs 20
    Overall.Unferm %>% 
    filter(Millet.Ratio%in%c("0", "20")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#2E7D32", "#2E7D32"))+
    theme_bw()

  ## 0 vs 30
    Overall.Unferm %>% 
    filter(Millet.Ratio%in%c("0", "30")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#2E7D32", "#2E7D32"))+
    theme_bw()

  ## 0 vs 40
    Overall.Unferm %>% 
    filter(Millet.Ratio%in%c("0", "40")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#2E7D32", "#2E7D32"))+
    theme_bw()  

  ## 0 vs 50
    Overall.Unferm %>% 
    filter(Millet.Ratio%in%c("0", "50")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#2E7D32", "#2E7D32"))+
    theme_bw()

Bread - difference, graphs: Overall Liking, Fermented

Overall.Ferm <- MB.Long %>%
  filter(Attribute == "Overall") %>%
  filter(Ferm.Type == "Fermented") %>%
  group_by(Millet.Ratio, Participant) %>%
  summarize(Rating = mean(Rating)) %>% ungroup()
## `summarise()` has grouped output by 'Millet.Ratio'. You can override using the
## `.groups` argument.
  ## Boxplot
      Overall.Ferm %>%
        ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
        geom_boxplot() +
        geom_jitter()+
        theme_bw() +
        scale_color_manual(values = c("#827717", "#827717", "#827717", "#827717", "#827717", "#827717"))+
        scale_y_continuous(breaks = seq(0, 9), limits = c(0, 9))+
        ggtitle("Fermented Millet Subsitution Ratio vs Liking")

  ## 0 vs 10
  Overall.Ferm %>% 
    filter(Millet.Ratio%in%c("0", "10")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#AFB42B", "#AFB42B"))+
    theme_bw()

  ## 0 vs 20
    Overall.Ferm %>% 
    filter(Millet.Ratio%in%c("0", "20")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#AFB42B", "#AFB42B"))+
    theme_bw()

  ## 0 vs 30
    Overall.Ferm %>% 
    filter(Millet.Ratio%in%c("0", "30")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#AFB42B", "#AFB42B"))+
    theme_bw()

  ## 0 vs 40
    Overall.Ferm %>% 
    filter(Millet.Ratio %in% c("0", "40")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#AFB42B", "#AFB42B"))+
    theme_bw() 

  ## 0 vs 50
    Overall.Ferm %>% 
    filter(Millet.Ratio%in%c("40", "50")) %>%
    ggplot(aes(x = as.factor(Millet.Ratio), y = Rating, color = as.factor(Millet.Ratio))) +
    geom_boxplot() +    
    geom_jitter()+
    stat_compare_means(paired = TRUE) +
    scale_color_manual(values = c("#AFB42B", "#AFB42B"))+
    theme_bw()

Bread - dose response curve: Unfermented vs fermented

MilletDose.Overall <- MB.Wide %>%
  mutate(Overall = (Overall_1 + Overall_2) /2) %>%
  group_by(Millet.Ratio, Ferm.Type) %>%
  summarize(Overall = mean(Overall), SD = sd(c(Overall_1 + Overall_2))) %>%
  mutate(Ratio = case_when(Ferm.Type == "Fermented" ~ Millet.Ratio + 1,
                   Ferm.Type == "Unfermented" ~ Millet.Ratio))
## `summarise()` has grouped output by 'Millet.Ratio'. You can override using the
## `.groups` argument.
MilletDose.Overall %>%
ggplot(aes(x = Ratio, y = Overall, color = Ferm.Type)) +
  geom_point() +
  geom_line(aes(group = Ferm.Type))+
  geom_errorbar(aes(ymin = (Overall - (SD/sqrt(11))), ymax = (Overall + (SD/sqrt(11)))), width = 1) +
  theme_bw() +
  scale_color_manual(values = c("#AFB42B", "#2E7D32"))+
  scale_y_continuous(breaks = seq(0, 9), limits = c(0, 9))

Purchase intent: Chi-square

## Combine two columns
Decision$Condition <- paste(Decision$Ferm.Type, Decision$Millet.Ratio)

Decision.chi <- Decision %>%
  dplyr::select(Condition, Buy) %>%
  group_by(Condition, Buy) %>%
  summarize(n = n()) %>%
  pivot_wider(names_from = Buy, values_from = n, values_fill = 0) %>%
  column_to_rownames(var = "Condition") %>%
  rename("Buy" = "1", "Maybe" = "2", "Not Buy" = "3")
## `summarise()` has grouped output by 'Condition'. You can override using the
## `.groups` argument.
chisq.test(Decision.chi)
## 
##  Pearson's Chi-squared test
## 
## data:  Decision.chi
## X-squared = 506.01, df = 22, p-value < 2.2e-16

Purchase intent: Bar graph

## Buy or not buy bar chart
Decision$Ferm.Type <- factor(Decision$Ferm.Type, levels = c("Unfermented", "Fermented"))

Decision%>% 
  mutate(Buy = case_when(Buy == "1" ~ "Buy",
                         Buy == "2" ~ "Maybe",
                         Buy == "3" ~ "Not Buy")) %>%
  ggplot(aes(x = as.factor(Millet.Ratio), fill = Buy)) +
  geom_bar(position="fill") +
  facet_grid(vars(Ferm.Type), vars(Day)) +
  scale_fill_manual(values = c("#2E7D32", "#FF9800", "#B71C1C"))+
  theme_bw() +
  theme(strip.background = element_rect(fill="white"))

Purchase intent: Chi-square

## Combine two columns
Decision$Condition <- paste(Decision$Ferm.Type, Decision$Millet.Ratio)

Decision.chi <- Decision %>%
  dplyr::select(Condition, Buy) %>%
  group_by(Condition, Buy) %>%
  summarize(n = n()) %>%
  pivot_wider(names_from = Buy, values_from = n, values_fill = 0) %>%
  column_to_rownames(var = "Condition") %>%
  rename("Buy" = "1", "Maybe" = "2", "Not Buy" = "3")
## `summarise()` has grouped output by 'Condition'. You can override using the
## `.groups` argument.
chisq.test(Decision.chi)
## 
##  Pearson's Chi-squared test
## 
## data:  Decision.chi
## X-squared = 506.01, df = 22, p-value < 2.2e-16

Purchase intent: p(Buy) difference

## Retest reliability
P.purchase.wide <- P.purchase %>%
  pivot_wider(names_from = Rep,
              values_from = Prob) %>%
  mutate(Rep.1 = rowMeans(select(., "1", "2")),
         Rep.2 = rowMeans(select(., "3", "4")))

cor.test(P.purchase.wide$Rep.1, P.purchase.wide$Rep.2, method ="kendall")
## Warning in cor.test.default(P.purchase.wide$Rep.1, P.purchase.wide$Rep.2, :
## Cannot compute exact p-value with ties
## 
##  Kendall's rank correlation tau
## 
## data:  P.purchase.wide$Rep.1 and P.purchase.wide$Rep.2
## z = 6.7924, p-value = 1.103e-11
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
##      tau 
## 0.799359
## Fermented - p(buy) difference 
P.purchase %>%
  filter(Type =="p(buy)") %>% 
  filter(Condition %in% c("Ferm.0", "Ferm.10", "Ferm.20", "Ferm.30", "Ferm.40", "Ferm.50")) %>%
  friedman_test(Prob ~ Condition|Rep) ## Friedman
## # A tibble: 1 × 6
##   .y.       n statistic    df       p method       
## * <chr> <int>     <dbl> <dbl>   <dbl> <chr>        
## 1 Prob      4      17.7     5 0.00337 Friedman test
P.purchase %>%
  filter(Type =="p(buy)") %>% 
  filter(Condition %in% c("Ferm.0", "Ferm.10", "Ferm.20", "Ferm.30", "Ferm.40", "Ferm.50")) %>%
  wilcox_test(Prob ~ Condition, p.adjust.method = "fdr") ## Wilcoxon posthoc
## # A tibble: 15 × 9
##    .y.   group1  group2     n1    n2 statistic     p p.adj p.adj.signif
##  * <chr> <chr>   <chr>   <int> <int>     <dbl> <dbl> <dbl> <chr>       
##  1 Prob  Ferm.0  Ferm.10     4     4      10.5 0.559 0.601 ns          
##  2 Prob  Ferm.0  Ferm.20     4     4      10.5 0.561 0.601 ns          
##  3 Prob  Ferm.0  Ferm.30     4     4      16   0.029 0.044 *           
##  4 Prob  Ferm.0  Ferm.40     4     4      16   0.029 0.044 *           
##  5 Prob  Ferm.0  Ferm.50     4     4      16   0.026 0.044 *           
##  6 Prob  Ferm.10 Ferm.20     4     4       9   0.881 0.881 ns          
##  7 Prob  Ferm.10 Ferm.30     4     4      16   0.028 0.044 *           
##  8 Prob  Ferm.10 Ferm.40     4     4      16   0.029 0.044 *           
##  9 Prob  Ferm.10 Ferm.50     4     4      16   0.026 0.044 *           
## 10 Prob  Ferm.20 Ferm.30     4     4      16   0.029 0.044 *           
## 11 Prob  Ferm.20 Ferm.40     4     4      16   0.029 0.044 *           
## 12 Prob  Ferm.20 Ferm.50     4     4      16   0.026 0.044 *           
## 13 Prob  Ferm.30 Ferm.40     4     4      14   0.104 0.13  ns          
## 14 Prob  Ferm.30 Ferm.50     4     4      16   0.026 0.044 *           
## 15 Prob  Ferm.40 Ferm.50     4     4      14.5 0.074 0.101 ns
## Unfermented - p(buy) difference 
P.purchase %>%
  filter(Type =="p(buy)") %>% 
  filter(Condition %in% c("Unferm.0", "Unferm.10", "Unferm.20", "Unferm.30", "Unferm.40", "Unferm.50")) %>%
  friedman_test(Prob ~ Condition|Rep) ## Friedman
## # A tibble: 1 × 6
##   .y.       n statistic    df       p method       
## * <chr> <int>     <dbl> <dbl>   <dbl> <chr>        
## 1 Prob      4      19.9     5 0.00131 Friedman test
P.purchase %>%
  filter(Type =="p(buy)") %>% 
  filter(Condition %in% c("Unferm.0", "Unferm.10", "Unferm.20", "Unferm.30", "Unferm.40", "Unferm.50")) %>%
  wilcox_test(Prob ~ Condition, p.adjust.method = "fdr") ## Wilcoxon posthoc
## # A tibble: 15 × 9
##    .y.   group1    group2       n1    n2 statistic     p p.adj p.adj.signif
##  * <chr> <chr>     <chr>     <int> <int>     <dbl> <dbl> <dbl> <chr>       
##  1 Prob  Unferm.0  Unferm.10     4     4       2.5 0.137 0.147 ns          
##  2 Prob  Unferm.0  Unferm.20     4     4      16   0.029 0.037 *           
##  3 Prob  Unferm.0  Unferm.30     4     4      16   0.028 0.037 *           
##  4 Prob  Unferm.0  Unferm.40     4     4      16   0.028 0.037 *           
##  5 Prob  Unferm.0  Unferm.50     4     4      16   0.026 0.037 *           
##  6 Prob  Unferm.10 Unferm.20     4     4      16   0.029 0.037 *           
##  7 Prob  Unferm.10 Unferm.30     4     4      16   0.029 0.037 *           
##  8 Prob  Unferm.10 Unferm.40     4     4      16   0.029 0.037 *           
##  9 Prob  Unferm.10 Unferm.50     4     4      16   0.026 0.037 *           
## 10 Prob  Unferm.20 Unferm.30     4     4      16   0.029 0.037 *           
## 11 Prob  Unferm.20 Unferm.40     4     4      16   0.029 0.037 *           
## 12 Prob  Unferm.20 Unferm.50     4     4      16   0.026 0.037 *           
## 13 Prob  Unferm.30 Unferm.40     4     4      15.5 0.04  0.046 *           
## 14 Prob  Unferm.30 Unferm.50     4     4      16   0.026 0.037 *           
## 15 Prob  Unferm.40 Unferm.50     4     4      13   0.18  0.18  ns