Как устранить ошибку отсутствующего значения в mgcv - PullRequest
0 голосов
/ 04 февраля 2020

Когда я пытаюсь запустить модель в mgcv, я получаю следующую ошибку:

Error in while (mean(ldxx/(ldxx + ldss)) > 0.4) { : 
  missing value where TRUE/FALSE needed

Мой синтаксис основан на статье 2019 года «Анализ хода времени в пупиллометрии c Данные» van Rij et al. Вот синтаксис, который я использовал:

m2.flanker <- bam(pupil_normed ~ condition 
                   + s(time, by=condition, k=20)
                   + s(x_coord, y_coord)
                   + s(time, id, bs='fs', m=1)
                   + s(time, TRIAL_INDEX, bs='fs', m=1)
                   + s(EVENT, bs='re') 
                   + s(time, EVENT, bs='re')
                   , data=dat.flank1, discrete=T)

Затем я сталкиваюсь с ошибкой, опубликованной выше. Я посмотрел на дополнительные материалы из бумаги, посмотрел на структуру недостоверности / данных и обнаружил, что она похожа на мою (некоторые недостающие данные, но в тех же местах у меня отсутствовали данные). Я попытался запустить синтаксис, предоставленный с их данными:

m5 <- bam(Pupil ~ Condition + s(Time, by=Condition, k=20) 
           + s(Xgaze, Ygaze)
           + s(Time, Subject, bs='fs', m=1) + s(Time, Item, bs='fs', m=1)
           + s(Event, bs='re') + s(Time, Event, bs='re')
           , data=dat0, discrete=TRUE)

Я не получил никакой ошибки. Мне непонятно, почему я получаю ошибку, когда запускаю модель со своими данными, а не с данными, которые используют авторы. Кроме того, ошибка довольно четко связана с фактором EVENT в моих данных, если я удалю ее, я не получу ошибку.

...