Para ilustrar como essa função pode ser usada, usaremos o conjunto de dados de bugs ao longo desta vinheta. Este conjunto de dados, “Bugs”, fornece até que ponto homens e mulheres desejam matar artrópodes que variam em carga (baixa, alta) e repugnância (baixa, alta). Cada participante avalia suas atitudes em relação a todos os antrópodes. Subconjunto dos dados relatados por Ryan et al. (2013). Observe que este é um desenho de medidas repetidas porque o mesmo participante deu quatro classificações diferentes em quatro condições diferentes (LDLF, LDHF, HDLF, HDHF).

Suponha que a primeira coisa que desejamos inspecionar seja a distribuição do desejo de matar em todas as condições (desconsiderando a estrutura fatorial do experimento). Também queremos saber se as diferenças médias neste desejo entre as condições são estatisticamente significativas.

library(dplyr)
ggstatsplot::ggwithinstats(
  data = bugs_long,
  x = condition,
  y = desire,
  title = "Comparação da intenção de matar artrópodes",
  xlab = "Condição", 
  ylab = "Intencão de matar um artrópode", 
)

ggstatsplot::ggwithinstats(
  data = bugs_long,
  x = condition,
  y = desire,
  type = "nonparametric", # tipo de teste estatístico
  xlab = "Condição", # legenda do eixo X
  ylab = "Intencão de matar um artrópode", # legenda do eixo Y
  effsize.type = "biased", # tipo de tamanho de efeito
  sphericity.correction = FALSE, # não exibir valores dfs e p-valor corrigidos de esfericidade 
  pairwise.comparisons = TRUE, # exibir comparações par a par
  outlier.tagging = TRUE, # destacar outliers
  outlier.coef = 1.5, # Coeficiente de Tukey
  outlier.label = region, # legenda para outliers
  outlier.label.color = "red", # cor do outlier
  mean.plotting = TRUE, # exibir média
  mean.color = "darkblue", # cor da média
  package = "yarrr", # biblioteca para fornecer a paleta de cores
  palette = "info2", # nome da paleta de cpres
  title = "Comparação da intenção de matar artrópodes",
  caption = "Fonte: Ryan et al., 2013"
) + 
  ggplot2::scale_y_continuous(
    limits = c(0, 10),
    breaks = seq(from = 0, to = 10, by = 1)
  )

df_disgust <- dplyr::filter(bugs_long, condition %in% c("LDHF", "HDHF"))
ggstatsplot::ggwithinstats(
    data = df_disgust,
    x = condition,
    y = desire,
    type = "p",
    effsize.type = "d",
    conf.level = 0.99,
    title = "Teste Paramétrico",
    package = "ggsci",
    palette = "nrc_npg"#,
    #ggtheme = hrbrthemes::theme_ipsum_pub()
  )

ggstatsplot::ggwithinstats(
    data = df_disgust,
    x = condition,
    y = desire,
    xlab = "Condição", 
    ylab = "Intencão de matar um artrópode", 
    type = "np",
    conf.level = 0.99,
    title = "Teste Não Parametrico",
    package = "ggsci",
    palette = "uniform_startrek"#,
    #ggtheme = ggthemes::theme_map()
  )

ggstatsplot::ggwithinstats(
    data = df_disgust,
    x = condition,
    y = desire,
    xlab = "Condição", 
    ylab = "Intencão de matar um artrópode", 
    type = "r",
    conf.level = 0.99,
    title = "Teste-T Robusto para média",
    package = "wesanderson",
    palette = "Royal2"#,
    #ggtheme = hrbrthemes::theme_ipsum_tw()
  )

ggstatsplot::ggwithinstats(
    data = df_disgust,
    x = condition,
    y = desire,
    xlab = "Condição", 
    ylab = "Intencão de matar um artrópode", 
    type = "bayes",
    title = "Teste de Bayes",
    package = "ggsci",
    palette = "nrc_npg"#,
    #ggtheme = ggthemes::theme_fivethirtyeight()
  )