Come scrivere il termine di errore in misure ripetute ANOVA in R: Errore (soggetto) vs Errore (soggetto / tempo)


10

La mia domanda è strettamente correlato a un precedente post Specificando il termine di errore () in misure ripetute ANOVA in R . Tuttavia, vorrei avere maggiori informazioni su come definire il termine di errore.

Supponiamo che io abbia un ANOVA ripetuto a due vie, il fattore tra l'effetto di gruppo è il trattamento (controllo vs. placebo), mentre il tempo è l'effetto all'interno del gruppo misurato ripetutamente su 4 volte (T1 ~ T4). L'ID paziente viene registrato come Soggetto. Qui ho preso in prestito i dati da un esempio dal tutorial in http://gjkerns.github.io/R/2012/01/20/power-sample-size.html in modo che i dati si presentino così

 Time Subject Method      NDI
 0min    1     Treat 51.01078
 15min   1     Treat 47.12314
 48hrs   1     Treat 26.63542
 96hrs   1     Treat 20.78196
 0min    2     Treat 42.61345
 15min   2     Treat 32.77171

Per applicare ANOVA:

aovComp <- aov(NDI ~ Time*Method + Error(Subject/Time), theData)
summary(aovComp)
Error: Subject
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1              

Error: Subject:Time        
            Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45 

Ho anche provato l'altro termine di errore:

aovComp1 <- aov(NDI ~ Time*Method + Error(Subject), theData)
summary(aovComp1)

Error: Subject      
          Df Sum Sq Mean Sq F value Pr(>F)
Method     1    113   112.7   0.481  0.491
Residuals 58  13579   234.1               

Error: Within
             Df Sum Sq Mean Sq F value  Pr(>F)    
Time          3  13963    4654 103.789 < 2e-16 ***
Time:Method   3   1221     407   9.074 1.3e-05 ***
Residuals   174   7803      45

Qualcuno può aiutarmi a spiegare le differenze tra questi due termini di errore? Se il primo termine è quello corretto, cosa significano i risultati del secondo termine di errore?

Aggiornamento di @amoeba: le due uscite sono uguali, quindi sembra che in questo caso non vi sia alcuna differenza, ma rimane la domanda su quale sia la differenza in linea di principio . Sono Error(subject)e Error(subject/time)sempre la stessa cosa?


3
scusa, ho appena capito che questi due termini danno gli stessi risultati. Quindi immagino che siano gli stessi :-)
tiantianchen

1
Speravo in una spiegazione a questo: /
vipin8169,

Tutto ciò che posso raccogliere sul termine di errore è questo >> "In una progettazione di misure ripetute, dobbiamo specificare un termine di errore che spieghi la variazione naturale da partecipante a partecipante. (Ad esempio, potrei reagire un po 'diversamente alla musica spaventosa di te fai perché adoro i film di zombi e li odi!) Lo facciamo con la funzione Error (): in particolare, stiamo dicendo che vogliamo controllare quella variazione tra i partecipanti su tutte le variabili all'interno dei soggetti. "
vipin8169,

(+1) Sono equivalenti solo quando esiste esattamente 1 misurazione per ogni combinazione soggetto / tempo. Se ci sono più misurazioni per combinazione soggetto / tempo (o semplicemente perché le misurazioni sono state ripetute o perché c'è un altro fattore B all'interno del soggetto, oltre a time), allora Error(subject)e Error(subject/time)produrranno valori F e p diversi time.
amoeba,

La stessa domanda su SO: stackoverflow.com/questions/37497948 - purtroppo senza una risposta pienamente soddisfacente (imho).
amoeba,

Risposte:


2

Innanzitutto, subject/timeè la notazione per timenidificati in subject, quindi si espande in due parti subjecte l' subject:timeinterazione. Quindi la domanda diventa più propriamente, quando si dovrebbe specificare l' subject:timeinterazione e che differenza fa?

Prima di rispondere a questa domanda, un'altra cosa importante da capire è che tutti i modelli includono un termine di errore aggiuntivo che non è necessario specificare, che è il termine di errore associato alle singole misurazioni (il livello più basso, se ci si pensa gerarchicamente).

In questo caso, l' subject:timeinterazione è quel livello più basso, che è sempre incluso nel modello. Quindi usare Error(subject)e Error(subject/time)dare lo stesso risultato; l'unica differenza è che nell'output, quel livello di risultati viene chiamato Withinper il primo e viene chiamato subject:timeper il secondo.

Tuttavia, nei casi in cui vi siano più misurazioni per ciascuna subject/timecombinazione, è necessario specificare l' subject:timeinterazione, poiché tale interazione non è al livello più basso.


(Ho avuto una generosità aperta su questa domanda, ma purtroppo si è esaurita ieri ...) +1, ma penso che questa risposta eviti quale potrebbe essere il problema centrale qui: in presenza di più misurazioni per ogni subject/timecombinazione, perché dovremmo necessariamente vuoi testare l'effetto di timerelativo subject:timeall'interazione? Questo è essenzialmente il contenuto della mia domanda qui stats.stackexchange.com/questions/286280 , quindi inviterei tutti i futuri lettori di questo thread a cercare lì una giustificazione concettuale.
amoeba,

Inoltre, qui sono disponibili domande e risposte molto simili: stats.stackexchange.com/questions/247582 .
ameba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.