Вы неправильно читаете документацию по аргументу exclude
:
исключить: если type=="terms"
или type="iterms"
, то термины (сглаживание или параметры c), названные в этом массиве, будут не подлежит возврату. В противном случае любые гладкие термины, названные в этом массиве, будут установлены в ноль. Если NULL
, то никакие условия не исключаются. Обратите внимание, что это термин имен, как он появляется в сводке модели, см. Пример. Вы можете избежать предоставления ковариат для исключенных терминов, установив newdata.guaranteed=TRUE
, что позволит избежать всех проверок на newdata
.
(выделено мной).
Вы можете использовать type = "response", exclude = "s(Area)")
и случайный эффект следует игнорировать. Вы должны передать newdata
некоторые значения для Area
, иначе это не сработает; просто установите для столбца Area
в newdata
все первые уровни Area
.
Если вы очень осторожны , вы также можете избежать передачи переменной ranef. Если вы уверены, что то, что вы передаете newdata
, является правильно заданным набором переменных для модели, то вы можете опустить Area
и передать newdata.guaranteed = TRUE
в predict()
, чтобы predict()
не смог проверить, что у вас есть правильно передал все переменные, необходимые для модели.
См. пример в ?mgcv::random.effects
для обоих типов поведения.