Come eseguire una correzione bonferroni in r


Un’ANOVA unidirezionale viene utilizzata per determinare se esiste o meno una differenza statisticamente significativa tra le medie di tre o più gruppi indipendenti.

Se il valore p complessivo della tabella ANOVA è inferiore a un certo livello di significatività, allora abbiamo prove sufficienti per affermare che almeno una delle medie del gruppo è diversa dalle altre.

Tuttavia, questo non ci dice quali gruppi siano diversi gli uni dagli altri. Questo ci dice semplicemente che non tutte le medie dei gruppi sono uguali.

Per sapere esattamente quali gruppi sono diversi l’uno dall’altro, dobbiamo eseguire test t a coppie tra ciascun gruppo controllando il tasso di errore familiare .

Uno dei modi più comuni per ottenere ciò è utilizzare la correzione Bonferroni quando si calcolano i valori p per ciascuno dei test t a coppie.

Questo tutorial spiega come eseguire la correzione Bonferroni in R.

Esempio: correzione Bonferroni in R

Supponiamo che un insegnante voglia sapere se tre diverse tecniche di studio portano o meno a punteggi diversi nei test tra gli studenti.

Per testarlo, assegna in modo casuale 10 studenti a utilizzare ciascuna tecnica di studio. Dopo una settimana di utilizzo della tecnica di studio assegnata, ogni studente sostiene lo stesso esame.

Possiamo utilizzare i seguenti passaggi in R per adattare un’ANOVA unidirezionale e utilizzare la correzione Bonferroni per calcolare le differenze a coppie tra i risultati dell’esame di ciascun gruppo.

Passaggio 1: crea il set di dati.

Il codice seguente mostra come creare un set di dati contenente i risultati degli esami di tutti i 30 studenti:

 #create data frame
data <- data.frame(technique = rep (c("tech1", "tech2", "tech3"), each = 10 ),
                   score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89,
                             81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
                             77, 78, 79, 88, 89, 90, 91, 95, 95, 98))

#view first six rows of data frame
head(data)

  technical score
1 tech1 76
2 tech1 77
3 tech1 77
4 tech1 81
5 tech1 82
6 tech1 82

Passaggio 2: visualizza i risultati dell’esame per ciascun gruppo.

Il codice seguente mostra come produrre boxplot per visualizzare la distribuzione dei risultati degli esami per ciascun gruppo:

 boxplot(score ~ technique,
        data = data,
        main = "Exam Scores by Studying Technique",
        xlab = "Studying Technique",
        ylab = "Exam Scores",
        col = "steelblue",
        border = "black")

Correzione Bonferroni in R

Passaggio 3: eseguire un’ANOVA unidirezionale.

Il codice seguente mostra come eseguire un’ANOVA unidirezionale per verificare le differenze tra i punteggi medi degli esami in ciascun gruppo:

 #fit the one-way ANOVA model
model <- aov(score ~ technique, data = data)

#view model output
summary(model)

            Df Sum Sq Mean Sq F value Pr(>F)  
technical 2 211.5 105.73 3.415 0.0476 *
Residuals 27 836.0 30.96                 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Poiché il valore p complessivo ( 0,0476 ) è inferiore a 0,05, ciò indica che ciascun gruppo non ha lo stesso punteggio medio dell’esame.

Successivamente, eseguiremo t-test a coppie utilizzando la correzione Bonferroni per i valori p per calcolare le differenze a coppie tra i risultati degli esami di ciascun gruppo.

Passaggio 4: eseguire test t a coppie.

Per eseguire t-test a coppie con correzione Bonferroni in R, possiamo utilizzare la funzionepairwise.t.test() , che utilizza la seguente sintassi:

pairwise.t.test(x, g, p.adjust.method=”bonferroni”)

Oro:

  • x: un vettore numerico di valori di risposta
  • g: Un vettore che specifica i nomi dei gruppi (es. tecnica di studio)

Il codice seguente mostra come utilizzare questa funzione per il nostro esempio:

 #perform pairwise t-tests with Bonferroni's correction
pairwise.t.test(data$score, data$technique, p.adjust.method=" bonferroni ")

	Pairwise comparisons using t tests with pooled SD 

data: data$score and data$technique 

      tech1 tech2
tech2 0.309 -    
tech3 0.048 1.000

P value adjustment method: bonferroni

Il modo di interpretare il risultato è il seguente:

  • Il valore p aggiustato per la differenza media nei punteggi degli esami tra la Tecnica 1 e la Tecnica 2 è 0,309 .
  • Il valore p aggiustato per la differenza media nei punteggi degli esami tra la Tecnica 1 e la Tecnica 3 è 0,048 .
  • Il valore p aggiustato per la differenza media nei punteggi degli esami tra la Tecnica 2 e la Tecnica 3 è 1000 .

Sulla base dei risultati, possiamo vedere che l’unica differenza significativa è tra la tecnica 1 e la tecnica 3.

Risorse addizionali

Un’introduzione all’ANOVA unidirezionale
Come eseguire l’ANOVA unidirezionale in R
Come eseguire il test di Tukey in R
Come eseguire il test di Dunnett in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *