L'origine della notazione in stile Wilkinson come (1 | id) per effetti casuali in formule di modelli misti in R


16

Formule di modello in R come

y ~ x + a*b + c:d

sono basati sulla cosiddetta notazione di Wilkinson : Wilkinson e Rogers 1973, Descrizione simbolica dei modelli fattoriali per l'analisi della varianza .

Questo documento non ha discusso delle notazioni per modelli misti (che all'epoca potrebbero non esistere). Quindi dove sono state usate le formule del modello misto lme4e i relativi pacchetti in R come

y ~ x + a*b + c:d + (1|school) + (a*b||town)

vieni? Chi li ha presentati per la prima volta e quando? Esiste un termine concordato come "Notazione di Wilkinson" per loro? Mi riferisco specificamente a termini come

(model formula |  grouping variable)
(model formula || grouping variable)

Risposte:


11

La notazione |è presente nei nlmedocumenti dalla versione 3.1-1 e probabilmente è la fine del 1999; possiamo facilmente verificarlo su CRAN nlme code archive. nlmeusa questa notazione, ad esempio provare library(nlme); formula(Orthodont); il |viene in su - in modo del 2000 sono spenti. Quindi scaviamo .... " Metodi grafici per dati con livelli multipli di annidamento " Pinheiro & Bates (1997) dove groupedDataviene introdotto il costruttore. E dicono: " La formula in un oggetto dati raggruppato ha lo stesso modello della formula utilizzata in una chiamata a una funzione grafica Trellis in S-PLUS, come xyplot ". Che .... ha senso come stanno lavorando P&B. .. Bell Labs (RIP) che ha sviluppato il sistema grafico Trellis che ha effettivamente utilizzato l'operatore|già per indicare i gruppi. Il che probabilmente significa ... " Il design visivo e il controllo del display a traliccio " di Becker et al. (1996) ha qualcosa a che fare con questo. La notazione non è stata introdotta in questo documento, ma è il primo riferimento a display elettronico a traliccio che riesco a trovare.

In sostanza, a questo punto, dobbiamo approfondire la letteratura sulla visualizzazione. Probabilmente vorrei controllare il libro di Cleveland Visualizing Data (1993) e le prime opere di Deepayan Sarkar (che ha sviluppato lattice). Si noti che l'operatore reale | (e ||) sono veri operatori primitivi in ​​quanto associati agli ORoperatori, quindi è stata solo una questione di tempo prima che qualcuno li sovraccarichi. Pur non essendo una risposta completa, sospetto fortemente che P&B abbia controllato il sistema di visualizzazione dei loro colleghi (le trame in quel documento del 1996 sono abbastanza buone per gli standard di fine 2010) e ho capito che qualcuno (Becker, Cleveland e Shyu) aveva già fatto un po 'di lavoro su questo (forse anche discusso di questo con loro in quel momento) e appena seguito ciò che era già lì. Cioè il|L'operatore ha origine nella notazione grafica. Trellis lo usava quasi sicuramente; anche i potenziali predecessori di Trellis potrebbero averlo fatto, ma la loro impronta digitale è molto difficile da tracciare.

In generale, penso che potresti volere questa pagina su NLME: software per modelli a effetti misti di Bell Labs per informazioni più storiche su nlme.


1
Molte grazie! È vero che nlmeusa |ma non penso che usi ()per indicare effetti casuali, giusto? Gli effetti casuali sono elencati come argomento separato per la chiamata di funzione. È stato lme4introdotto (x|id)come parte della stessa formula?
ameba dice Reinstate Monica il

2
Penso che stai leggendo un po 'troppo la presenza delle parentesi; Sospetto fortemente che esistano per scopi di analisi dato che lme4utilizza una sintassi unificata per tutti i termini. Ad esempio fm1 <- lmer(Reaction ~ Days | Subject, sleepstudy)funziona bene senza parentesi.
usεr11852 dice Reinstate Monic il

Oh. Infatti. Non ci ho mai pensato in questo modo :)
ameba dice Reinstate Monica il

Bates ha appena confermato che la parte casuale è stata introdotta dagli autori di nlme (di cui è uno): twitter.com/BatesDmbates/status/1111283948615802881
Jonas Lindeløv

@ JonasLindeløv: Cool! Grazie per la condivisione, farò un link alla risposta domani sera.
usεr11852 dice Reinstate Monic il
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.