# noodle experiment as CR with one noodle hater # the CR experiment has 21 subjects trying one dish each data0 <- scan(what = list(person=0,treatment="",taste=0), multi.line=F) 1 ramen 6.8 1 soba 7.2 1 udon 7.0 2 ramen 7.7 2 soba 7.4 2 udon 6.8 3 ramen 7.0 3 soba 7.5 3 udon 1.5 4 ramen 6.3 4 soba 7.4 4 udon 6.7 5 ramen 8.1 5 soba 7.9 5 udon 7.1 6 ramen 7.8 6 soba 8.4 6 udon 8.0 7 ramen 8.8 7 soba 9.5 7 udon 8.7 data0 noodles0 <- data.frame(data0) rm(data) noodles0$person <- as.factor(noodles0$person) noodles0$treatment <- as.factor(noodles0$treatment) boxplot(taste ~ treatment, data=noodles0, main = "Noodles CR data") # CR analysis noodles.cr <- lm(taste ~ treatment, data=noodles0) anova(noodles.cr) # noodle experiment as RCB with one noodle hater # the RCB experiment has 7 subjects, each trying 3 dishes in # a random order data <- scan(what = list(person=0,treatment="",taste=0), multi.line=F) 1 ramen 6.8 1 soba 7.2 1 udon 7.0 2 ramen 7.7 2 soba 7.4 2 udon 6.8 3 ramen 1.8 3 soba 1.6 3 udon 1.5 4 ramen 6.3 4 soba 7.4 4 udon 6.7 5 ramen 8.1 5 soba 7.9 5 udon 7.1 6 ramen 7.8 6 soba 8.4 6 udon 8.0 7 ramen 8.8 7 soba 9.5 7 udon 8.7 data noodles <- data.frame(data) rm(data) noodles$person <- as.factor(noodles$person) noodles$treatment <- as.factor(noodles$treatment) boxplot(taste ~ treatment, data=noodles, main = "Biscuit data") # RCB analysis noodles.rcb <- lm(taste ~ person +treatment, data=noodles) anova(noodles.rcb) # check model assumptions par(mfrow=c(2,2)) plot(noodles.rcb) par(mfrow=c(1,1)) # use the emmeans package to conduct pairwise tests on the treatment library(emmeans) noodles.rcb.means.treatment <- emmeans(noodles.rcb,"treatment") summary(noodles.rcb.means.treatment) pairs(noodles.rcb.means.treatment) # Note that if the blocks are assumed random, then the SE # of the treatment means will increase, as shown dramatically for these data library(afex) noodles.afex1 <- mixed(taste ~ (1|person) +treatment, data=noodles) summary(noodles.afex1) emmeans(noodles.afex1, ~treatment)