Load Packages & Data

Load Function

ab.test <-
  function(attribute, conf){
    t.test(x = mkf[mkf$Attribute == attribute & mkf$`Item No` == "A", 'Value'],
           y = mkf[mkf$Attribute == attribute & mkf$`Item No` == "B", 'Value'],
           alternative = "two.sided", 
           paired = FALSE,
           var.equal = TRUE,
           conf.level = conf
           )$p.value ->
      p.value
    if_else(p.value < 1 - conf,
            "Yes",
            "No"
            )
  }

Exploratory Data Analysis

mkf %>%
  mutate(across(.cols = c(`Item No`, Attribute),
                .fns = as_factor
                )
         ) %>%
  ggpairs(mapping = aes(colour = `Item No`))

mkf %>%
  mutate(across(.cols = c(`Item No`, Attribute),
                .fns = as_factor
                )
         ) %>%
  ggpairs(mapping = aes(colour = Attribute))

Compare T-Test Significance

mkf %>%
  group_by(Attribute,
           `Item No`
           ) %>%
  summarize(Mean = mean(Value),
            StdDev = sd(Value),
            N = NROW(Value)
            ) %>%
  pivot_wider(names_from = `Item No`,
              values_from = c(Mean, StdDev, N)
              ) %>%
  mutate(Conf_90 = ab.test(Attribute, 0.90),
         Conf_95 = ab.test(Attribute, 0.95),
         Conf_99 = ab.test(Attribute, 0.99),
         across(.cols = c(Mean_A:StdDev_B),
                .fns = round, digits = 2
                )
         ) %>%
  kable()
## `summarise()` has grouped output by 'Attribute'. You can override using the `.groups` argument.
Attribute Mean_A Mean_B StdDev_A StdDev_B N_A N_B Conf_90 Conf_95 Conf_99
CLEAN 6.33 6.49 1.07 0.93 70 69 No No No
COMFORT 6.46 6.51 0.76 0.80 70 69 No No No
LIGHT 6.31 6.38 0.97 1.03 70 69 No No No
MOVABLE 6.09 6.30 1.14 1.12 70 69 No No No
NEARBY 6.09 6.41 1.32 1.06 70 69 No No No
OAL 6.07 6.48 1.18 0.92 70 69 Yes Yes No
PURWOPRICE 6.04 6.38 1.18 1.02 70 69 Yes No No
PURWPRICE 6.13 6.29 1.26 1.11 70 69 No No No
QUALITY 6.27 6.17 0.88 1.12 70 69 No No No
ROUGH 6.71 6.64 0.76 1.00 70 69 No No No
SLICK 5.94 6.35 1.20 0.94 70 69 Yes Yes No
SMOOTH 6.23 6.49 1.08 0.90 70 69 No No No
STICKING 6.77 6.62 0.52 0.97 70 69 No No No