Paired comparison judgments for two wine tasting studies: ambilight includes the results of a study on the effect of ambient lighting on the flavor of wine; redwines includes judgments on the sensory quality of red wines.

data("winetaste")

Format

ambilight A data frame containing 230 observations on 10 variables:

preference, fruitiness, spiciness, sweetness

Paired comparison of class paircomp; judgments for one of the 6 ordered pairs of the blue, red, and white lighting conditions.

age

subject age

gender

factor, subject gender

sensesmell

self-rating of sense of smell and taste.

likewine

self-rating of general liking of wine.

drinkwine

factor, frequency of wine consumption.

redwhite

factor, preference for red or white wine.

redwines A data frame containing 11 observations on 7 variables:

bitterness, fruitiness, sourness, roundness, preference

Paired comparison of class paircomp; judgments for all 10 pairs from 5 red wines: Primitivo di Manduria, Cotes du Rhone, Bourgogne, Shiraz cuvee, Cabernet Sauvignon.

best

factor, Which of the five wines did you like best?

worst

factor, Which of the five wines did you like worst?

Details

The ambilight data are from Experiment 3 in Oberfeld et al. (2009). The redwines data were collected among the members of the Sound Quality Research Unit (SQRU), Department of Acoustics, Aalborg University, Denmark, in 2004. Details of the red wines are available as an attribute of the preference variable (see Examples).

References

Oberfeld, D., Hecht, H., Allendorf, U., & Wickelmaier, F. (2009). Ambient lighting modifies the flavor of wine. Journal of Sensory Studies, 24(6), 797--832. doi: 10.1111/j.1745-459X.2009.00239.x

See also

eba, eba.order, paircomp.

Examples

requireNamespace("psychotools") data(winetaste) ## No effect of ambient lighting on flavor (Oberfeld et al., 2009) m <- lapply(ambilight[, c("preference", "fruitiness", "spiciness", "sweetness")], function(x) eba.order(summary(x, pcmatrix = TRUE))) lapply(m, summary)
#> $preference #> #> Parameter estimates (H0: parameter = 0): #> Estimate Std. Error z value Pr(>|z|) #> 1 0.32165 0.03731 8.622 <2e-16 *** #> 2 0.37144 0.04022 9.235 <2e-16 *** #> 3 0.34565 0.04136 8.356 <2e-16 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Order effects (H0: parameter = 1): #> Estimate Std. Error z value Pr(>|z|) #> order 0.50233 0.07032 -7.077 1.47e-12 *** #> order0 0.50327 0.13972 -3.555 0.000378 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> EBA.order 3 6 -12.623 -11.939 1.370 0.713 #> Order 2 3 -25.451 -12.623 25.654 4.08e-07 *** #> Effect 1 3 -12.911 -12.623 0.575 0.750 #> Imbalance 1 6 -18.139 -16.444 3.390 0.640 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 31.247 #> Pearson X2: 1.362 #> #> $fruitiness #> #> Parameter estimates (H0: parameter = 0): #> Estimate Std. Error z value Pr(>|z|) #> 1 0.33887 0.04165 8.137 4.05e-16 *** #> 2 0.48432 0.04968 9.749 < 2e-16 *** #> 3 0.36632 0.04668 7.847 4.24e-15 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Order effects (H0: parameter = 1): #> Estimate Std. Error z value Pr(>|z|) #> order 0.44932 0.06475 -8.505 < 2e-16 *** #> order0 0.45570 0.14219 -3.828 0.000129 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> EBA.order 3 6 -14.233 -11.716 5.035 0.169 #> Order 2 3 -30.969 -14.233 33.471 7.23e-09 *** #> Effect 1 3 -16.071 -14.233 3.675 0.159 #> Imbalance 1 6 -18.139 -16.444 3.390 0.640 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 34.467 #> Pearson X2: 5.01 #> #> $spiciness #> #> Parameter estimates (H0: parameter = 0): #> Estimate Std. Error z value Pr(>|z|) #> 1 0.37345 0.03725 10.025 <2e-16 *** #> 2 0.31304 0.03409 9.183 <2e-16 *** #> 3 0.31375 0.03651 8.593 <2e-16 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Order effects (H0: parameter = 1): #> Estimate Std. Error z value Pr(>|z|) #> order 0.9827 0.1299 -0.133 0.894 #> order0 0.9828 0.1319 -0.131 0.896 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> EBA.order 3 6 -12.387 -12.293 0.187 0.980 #> Order 2 3 -12.395 -12.387 0.017 0.895 #> Effect 1 3 -13.000 -12.387 1.227 0.542 #> Imbalance 1 6 -18.139 -16.444 3.390 0.640 #> #> AIC: 30.773 #> Pearson X2: 0.1872 #> #> $sweetness #> #> Parameter estimates (H0: parameter = 0): #> Estimate Std. Error z value Pr(>|z|) #> 1 0.30562 0.03492 8.753 < 2e-16 *** #> 2 0.43390 0.04120 10.532 < 2e-16 *** #> 3 0.29558 0.03676 8.041 8.95e-16 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Order effects (H0: parameter = 1): #> Estimate Std. Error z value Pr(>|z|) #> order 0.69802 0.09466 -3.190 0.00142 ** #> order0 0.70370 0.13392 -2.213 0.02693 * #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> EBA.order 3 6 -12.845 -12.140 1.411 0.7030 #> Order 2 3 -16.420 -12.845 7.149 0.0075 ** #> Effect 1 3 -15.401 -12.845 5.111 0.0777 . #> Imbalance 1 6 -18.139 -16.444 3.390 0.6402 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 31.691 #> Pearson X2: 1.411 #>
u <- sapply(m, uscale, norm = 3) dotchart( u, xlim = c(0.5, 2), pch = 16, panel.first = abline(v = 1, col = "gray"), main = "Ambient lighting and the flavor of wine", xlab = "Utility scale value (Davidson-Beaver model)" )
ci <- sapply(m, function(x) 1.96 * sqrt(diag(cov.u(x)))) arrows( u - ci, c(16:18, 11:13, 6:8, 1:3), u + ci, c(16:18, 11:13, 6:8, 1:3), .05, 90, 3)
mtext("Oberfeld et al. (2009)", line = 0.5)
## Sensory quality of red wines psychotools::covariates(redwines$preference) # details of the wines
#> code grape country name #> Primitivo A Primitivo di Manduria Italy Faunus Vendemmia #> CotesDuRhone B Cotes du Rhone France <NA> #> Bourgogne C Bourgogne France <NA> #> ShirazCuvee D Shiraz cuvee South Africa Cape Red #> CabernetSauvignon E Cabernet Sauvignon Chile Santiago 1541 #> winery year alc.prc price.dkk #> Primitivo <NA> 2001 14.0 53 #> CotesDuRhone Domaine des Estremieres 2001 14.0 55 #> Bourgogne Domaine Bernard Moreau et Fils 2002 12.5 110 #> ShirazCuvee Drostdy Hof 2003 13.5 33 #> CabernetSauvignon D. O. Colchagua Valley 2003 12.5 45
m <- lapply(redwines[, c("bitterness", "fruitiness", "sourness", "roundness", "preference")], function(x) eba(summary(x, pcmatrix = TRUE))) lapply(m, summary)
#> $bitterness #> #> Parameter estimates: #> Estimate Std. Error z value Pr(>|z|) #> 1 0.21271 0.05094 4.176 2.97e-05 *** #> 2 0.16895 0.04288 3.940 8.15e-05 *** #> 3 0.26972 0.05985 4.507 6.58e-06 *** #> 4 0.12447 0.03391 3.671 0.000242 *** #> 5 0.07688 0.02364 3.252 0.001144 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> Overall 1 20 -43.02 -34.87 16.31 0.6367 #> EBA 4 10 -15.89 -13.61 4.55 0.6027 #> Effect 0 4 -21.77 -15.89 11.76 0.0193 * #> Imbalance 1 10 -21.25 -21.25 0.00 1.0000 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 39.775 #> Pearson X2: 4.35 #> #> $fruitiness #> #> Parameter estimates: #> Estimate Std. Error z value Pr(>|z|) #> 1 0.13684 0.03676 3.722 0.000197 *** #> 2 0.15921 0.04129 3.856 0.000115 *** #> 3 0.10019 0.02905 3.449 0.000563 *** #> 4 0.25113 0.05801 4.329 1.50e-05 *** #> 5 0.27159 0.06117 4.440 8.99e-06 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> Overall 1 20 -41.658 -35.124 13.068 0.8351 #> EBA 4 10 -15.930 -13.870 4.121 0.6604 #> Effect 0 4 -20.404 -15.930 8.947 0.0624 . #> Imbalance 1 10 -21.255 -21.255 0.000 1.0000 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 39.86 #> Pearson X2: 3.937 #> #> $sourness #> #> Parameter estimates: #> Estimate Std. Error z value Pr(>|z|) #> 1 0.11183 0.03399 3.290 0.001002 ** #> 2 0.15359 0.04400 3.491 0.000482 *** #> 3 0.40275 0.07767 5.185 2.16e-07 *** #> 4 0.08796 0.02797 3.145 0.001664 ** #> 5 0.06860 0.02295 2.989 0.002795 ** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> Overall 1 20 -46.109 -34.555 23.108 0.232608 #> EBA 4 10 -14.478 -13.301 2.354 0.884431 #> Effect 0 4 -24.855 -14.478 20.754 0.000354 *** #> Imbalance 1 10 -21.255 -21.255 0.000 1.000000 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 36.955 #> Pearson X2: 2.368 #> #> $roundness #> #> Parameter estimates: #> Estimate Std. Error z value Pr(>|z|) #> 1 0.19038 0.04799 3.967 7.28e-05 *** #> 2 0.12822 0.03553 3.609 0.000308 *** #> 3 0.04901 0.01758 2.788 0.005305 ** #> 4 0.26312 0.06016 4.374 1.22e-05 *** #> 5 0.22341 0.05390 4.145 3.41e-05 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> Overall 1 20 -46.802 -34.484 24.638 0.172810 #> EBA 4 10 -15.577 -13.229 4.695 0.583437 #> Effect 0 4 -25.548 -15.577 19.943 0.000513 *** #> Imbalance 1 10 -21.255 -21.255 0.000 1.000000 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 39.153 #> Pearson X2: 4.684 #> #> $preference #> #> Parameter estimates: #> Estimate Std. Error z value Pr(>|z|) #> 1 0.14987 0.03946 3.798 0.000146 *** #> 2 0.12857 0.03503 3.671 0.000242 *** #> 3 0.07342 0.02289 3.208 0.001336 ** #> 4 0.30590 0.06469 4.728 2.26e-06 *** #> 5 0.17469 0.04441 3.933 8.37e-05 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Model tests: #> Df1 Df2 logLik1 logLik2 Deviance Pr(>Chi) #> Overall 1 20 -44.431 -34.838 19.187 0.4449 #> EBA 4 10 -16.732 -13.583 6.297 0.3908 #> Effect 0 4 -23.176 -16.732 12.889 0.0118 * #> Imbalance 1 10 -21.255 -21.255 0.000 1.0000 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> AIC: 41.463 #> Pearson X2: 6.376 #>
u <- sapply(m, uscale) dotchart( u[order(u[, "preference"]), ], log = "x", panel.first = abline(v = 1/5, col = "gray"), main = "SQRU red wine tasting", xlab = "Utility scale value (BTL model), choice proportion (+)" )
points(as.vector( prop.table(table(redwines$best))[order(u[, "preference"])] ), 1:5, pch = 3)