Ошибка возникает из-за того, что элементы call
объектов glm
перезаписываются именем аргумента, переданного анонимной функции
modsa <- lapply(f, function(x) glm(x, data = d1))
modsa[[1]]$call
glm(formula = x, data = d1)
#compare with a single instance of the model
moda1<-glm(y ~ 1, data=d1)
moda1$call
glm(formula = y ~ 1, data = d1)
Если вы добавите обратно в формулу, это приведет кправильно воссоздать вызов
update(modsa[[1]], data = d1[1:7, ], formula=f[[1]])
Это не работает для второго экземпляра, но вы можете видеть, что если вы вручную обновите элемент вызова, функциональность обновления будет восстановлена.
modsb[[1]]$call<-getCall(moda1)
update(modsb[[1]], data = d1[1:7, ])