2015-01-23 12 views
5

Vorrei sapere se è possibile estrarre i valori t dalla funzione pairwise.t.test poiché riporta solo i valori p. Ho usato il pairwise.t.test() per confronti multipli dopo aver eseguito un anova a misure ripetute che ha riportato un significativo effetto principale.estraendo il valore t da pairwise.t.test

Grazie mille in anticipo!

+0

Sembra più una domanda per l'overflow dello stack – DatamineR

risposta

5

Ci sono alcune cose semplici da provare quando si cerca di capire qualcosa di simile (non c'è, ovviamente, alcuna garanzia che funzioneranno in una determinata istanza). La prima cosa da provare è guardare la documentazione (?pairwise.t.test) e vedere cosa è elencato sotto Value. In questo caso si dice solo:

oggetto della classe "pairwise.htest"

La seconda cosa da provare è quello di ottenere un oggetto esempio e assegnarlo a una variabile, allora è possibile eseguire str(obj) . Di seguito utilizza l'esempio dalla documentazione:

attach(airquality) 
Month <- factor(Month, labels = month.abb[5:9]) 
obj <- pairwise.t.test(Ozone, Month) 
str(obj) 
List of 4 
$ method   : chr "t tests with pooled SD" 
$ data.name  : chr "Ozone and Month" 
$ p.value  : num [1:4, 1:4] 1 0.000264 0.000195 1 NA ... 
    ..- attr(*, "dimnames")=List of 2 
    .. ..$ : chr [1:4] "Jun" "Jul" "Aug" "Sep" 
    .. ..$ : chr [1:4] "May" "Jun" "Jul" "Aug" 
$ p.adjust.method: chr "holm" 
- attr(*, "class")= chr "pairwise.htest" 

Purtroppo, che non mostra quello che ci piacerebbe vedere (ad esempio, qualcosa come $ t.stat).

L'ultima opzione è guardare il codice. Si può ottenere inserendo la chiamata di funzione senza parentesi al prompt dei comandi:

> pairwise.t.test 
function (x, g, p.adjust.method = p.adjust.methods, pool.sd = !paired, 
    paired = FALSE, alternative = c("two.sided", "less", "greater"), 
    ...) 
{ 
    <code omitted> 
    if (pool.sd) { 
     <code omitted> 
     } 
    } 
    else { 
     <code omitted> 
     compare.levels <- function(i, j) { 
      xi <- x[as.integer(g) == i] 
      xj <- x[as.integer(g) == j] 
      t.test(xi, xj, paired = paired, alternative = alternative, 
       ...)$p.value 
     } 
    } 
    PVAL <- pairwise.table(compare.levels, levels(g), p.adjust.method) 
    ans <- list(method = METHOD, data.name = DNAME, p.value = PVAL, 
     p.adjust.method = p.adjust.method) 
    class(ans) <- "pairwise.htest" 
    ans 
} 

La parte fondamentale è la funzione definita compare.levels, che è solo mantenendo il valore p dalla sottostante t-test. Quindi, la risposta diretta alla tua domanda è no, non puoi estrarre t-statistics.

1

È possibile ottenere valori t (e anche dfs) ​​da pairwise.t.test scrivendo una funzione personalizzata. See my previous post.

Problemi correlati