La notación |
ha estado presente en los nlme
documentos desde la versión 3.1-1 y probablemente a fines de 1999; podemos comprobarlo fácilmente en el archivo de código CRAN nlme . nlme
usa esta notación, por ejemplo, try library(nlme); formula(Orthodont)
; el |
viene - así de 2000 están apagados. Así que vamos a cavar .... " Métodos gráficos para datos con múltiples niveles de anidamiento " Pinheiro y Bates (1997) donde groupedData
se introduce el constructor. Y dicen: " La fórmula en un objeto de datos agrupados tiene el mismo patrón que la fórmula utilizada en una llamada a una función gráfica Trellis en S-PLUS, como xyplot ", lo cual ... tiene sentido ya que P&B está trabajando. .. Bell Labs (RIP) que desarrolló el sistema de gráficos Trellis que realmente utilizó el operador|
ya para indicar grupos. Lo que probablemente significa ... " El diseño visual y el control de Trellis Display " de Becker et al. (1996) tiene algo que ver con esto. La notación no se presenta en este documento, pero es la primera referencia electrónica de pantalla Trellis que puedo encontrar.
Esencialmente necesitamos desenterrar literatura de visualización en este punto. Probablemente verificaría el libro de Cleveland Visualizing Data (1993) y los primeros trabajos de Deepayan Sarkar (quien desarrolló lattice
). Observe que el operador real |
(y ||
) son verdaderos operadores primitivos, ya que están asociados con OR
operadores, por lo que era solo cuestión de tiempo hasta que alguien los sobrecargara. Si bien no es una respuesta completa, sospecho que P&B verificó el excelente sistema de visualización de sus colegas (las tramas en ese documento de 1996 son bastante buenas para los estándares de finales de 2010) y se dio cuenta de que alguien (Becker, Cleveland y Shyu) ya había trabajado en esto (tal vez incluso discutí esto con ellos en ese momento) y simplemente seguí lo que ya estaba allí. Es decir, el|
El operador se origina en notación gráfica. Trellis casi seguramente lo usó; Los posibles predecesores de Trellis también pueden haberlo hecho, pero su huella electrónica es muy difícil de rastrear.
En general, creo que es posible que desee esta página en NLME: Software para modelos de efectos mixtos de Bell Labs para obtener más información histórica sobre nlme
.
nlme
usa|
pero no creo que use()
para denotar efectos aleatorios, ¿verdad? Los efectos aleatorios se enumeran como un argumento separado para la llamada a la función. ¿Fuelme4
eso introducido(x|id)
como parte de la misma fórmula?