Походження позначень у стилі Вілкінсона, таких як (1 | id) для випадкових ефектів у формулах змішаних моделей в R


16

Модельні формули в R, такі як

y ~ x + a*b + c:d

засновані на так званих позначеннях Вілкінсона : Wilkinson and Rogers 1973, Symbolic Description of Factorial Model for Analysis of Variance .

У цьому документі не було обговорено позначень для змішаних моделей (які, можливо, тоді не існували). Отже, де були змішані формули моделі, що використовуються в lme4та пов'язаних з ними пакетах в R, таких як

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

прибув з? Хто їх вперше представив, і коли? Чи є для них якийсь узгоджений термін, наприклад "позначення Вілкінсона"? Я конкретно маю на увазі такі терміни, як

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

Відповіді:


11

Позначення |існують у nlmeдокументах з версії 3.1-1, і це, мабуть, наприкінці 1999 року; ми можемо легко перевірити це в архіві коду CRAN nlme . nlmeвикористовує це позначення, наприклад, спробуйте library(nlme); formula(Orthodont); |приходить - так 2000 - вимкнено. Тож давайте копаємо .... " Графічні методи для даних з кількома рівнями вкладення " Pinheiro & Bates (1997), де groupedDataконструктор вводиться. І вони кажуть: " Формула в об'єднаному об'єкті даних має ту саму схему, що і формула, яка використовується для виклику графічної функції Трелліса в S-PLUS, наприклад, xyplot " Який .... має сенс, як працюють P&B. .. Bell Labs (RIP), яка розробила графічну систему Trellis, яка фактично використовувала оператор|вже для позначення груп. Що, мабуть, означає ... " Візуальний дизайн та контроль відображення трелі " від Becker et al. (1996) має щось спільне з цим. Позначення не введено в цій роботі, але це перша електронна посилання на дисплей Trellis, яку я можу знайти.

По суті, нам потрібно розкопати літературу з візуалізації в цей момент. Ймовірно, я перевірив би книгу Клівленда « Візуалізація даних» (1993) та ранні твори Діпіяна Саркара (який розвивався lattice). Зауважте, що фактичний оператор |||) є справжніми примітивними операторами, оскільки вони асоціюються з ORоператорами, тому було лише питання часу, поки хтось не перевантажить їх. Хоча я не є повною відповіддю, я напевно підозрюю, що P&B перевірила їхню колегу прохолодною системою візуалізації (сюжети в цьому документі 1996 року цілком підходять для стандартів кінця 2010 року) і зрозуміла, що хтось (Беккер, Клівленд і Шю) вже зробив певну роботу над цим (можливо навіть обговорював це з ними в той час) і просто слідкував за тим, що вже було. Тобто|Оператор бере свій початок у графічних позначеннях. Трелліс майже напевно використовував його; потенційні попередники Trellis, можливо, теж зробили це, але їх електронний слід дуже важко відстежити.

Взагалі, я думаю, вам може знадобитися ця сторінка в NLME: Програмне забезпечення для моделей зі змішаними ефектами від Bell Labs для отримання більш історичної інформації про nlme.


1
Дуже дякую! Це правда, що nlmeвикористовує, |але я не думаю, що вона використовує ()для позначення випадкових ефектів, правда? Випадкові ефекти перераховані як окремий аргумент виклику функції. Це було lme4введено (x|id)як частину тієї ж формули?
Амеба каже: Поновіть Моніку

2
Я думаю, ви занадто багато читаєте про наявність дужок; Я сильно підозрюю, що вони існують для розбору цілей, що lme4використовує уніфікований синтаксис для всіх доданків. Наприклад, fm1 <- lmer(Reaction ~ Days | Subject, sleepstudy)прекрасно працює без жодних дужок.
usεr11852 повідомляє Відновити Монік

Ой. Справді. Ніколи не думав про це так :)
амеба каже Відновити Моніку

Бейтс щойно підтвердив, що випадкова частина була введена nlme авторами (з них він один): twitter.com/BatesDmbates/status/1111283948615802881
Йонас Ліндельов

@ JonasLindeløv: Класно! Дякую за те, що поділився, я завтра ввечері зроблю посилання на відповідь.
usεr11852 повідомляє
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.