dados = read_csv(here::here("data/satisfacoes.csv"),
col_types = "cdcc")
glimpse(dados)
## Rows: 115
## Columns: 4
## $ user_id <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11",…
## $ satisfaction <dbl> 2.0, 3.0, 1.5, 1.0, 2.0, 2.5, 2.0, 3.0, 2.0, 2.0, 2.0, 2…
## $ scenario <chr> "baseline", "baseline", "baseline", "baseline", "baselin…
## $ group <chr> "3", "1", "2", "2", "1", "1", "3", "3", "2", "1", "3", "…
comparacao1 = dados %>%
filter(scenario %in% c("baseline", "like/dislike"))
theta <- function(d, i) {
agrupado = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
l = agrupado %>% filter(scenario == "like/dislike") %>% pull(media)
l - b
}
theta(comparacao1, i = 1:NROW(comparacao1))
## [1] 1.521739
ci1 = boot(data = comparacao1,
statistic = theta,
R = 2000) %>%
tidy(conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
datatable(head(ci1), options = list(pageLength = 10, dom = 'tip'), rownames = FALSE)
comparacao2 = dados %>%
filter(scenario %in% c("baseline", "up/downvoting"))
theta <- function(d, i) {
agrupado = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
l = agrupado %>% filter(scenario == "up/downvoting") %>% pull(media)
l - b
}
theta(comparacao2, i = 1:NROW(comparacao2))
## [1] 2.26087
ci2 = boot(data = comparacao2,
statistic = theta,
R = 2000) %>%
tidy(conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
datatable(head(ci2), options = list(pageLength = 10, dom = 'tip'), rownames = FALSE)
comparacao3 = dados %>%
filter(scenario %in% c("baseline", "skip"))
theta <- function(d, i) {
agrupado = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
l = agrupado %>% filter(scenario == "skip") %>% pull(media)
l - b
}
theta(comparacao3, i = 1:NROW(comparacao3))
## [1] 0.3913043
ci3 = boot(data = comparacao3,
statistic = theta,
R = 2000) %>%
tidy(conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
datatable(head(ci3), options = list(pageLength = 10, dom = 'tip'), rownames = FALSE)
comparacao4 = dados %>%
filter(scenario %in% c("baseline", "combined"))
theta <- function(d, i) {
agrupado = d %>%
slice(i) %>%
group_by(scenario) %>%
summarise(media = mean(satisfaction))
b = agrupado %>% filter(scenario == "baseline") %>% pull(media)
l = agrupado %>% filter(scenario == "combined") %>% pull(media)
l - b
}
theta(comparacao4, i = 1:NROW(comparacao4))
## [1] 1.913043
ci4 = boot(data = comparacao4,
statistic = theta,
R = 2000) %>%
tidy(conf.level = .95,
conf.method = "bca",
conf.int = TRUE)
datatable(head(ci4), options = list(pageLength = 10, dom = 'tip'), rownames = FALSE)
Segundo o artigo, o método baseline possui uma diferença negativa, quando comparado com os outros três métodos. Logo, assumindo que quanto mais a média do theta chapéu for distante positivamente do baseline, o método que está sendo comparado será mais eficiente, ou seja, deixará mais pessoas satisfeitas. Partindo disso, temos que o maior diferença das médias dos thetas (statistics) está no método “up/downvoting”. Portanto, é plausível dizer que, com 95% de confiança, os usuários avaliados saíram mais satisfeitos do experimento utilizando este método.
Plottando os dados em um gráfico, é possível perceber que, de fato, dentro desta população, o nível de satisfação foi maior na métrica up/downvoting.
dados %>%
ggplot(mapping = aes(scenario, satisfaction, color = scenario)) +
geom_quasirandom()