Кормление newdata на R функция predict

Р predict функция может принимать

1 ответов


посмотреть ?predict.lm и раздел Примечания, который я цитирую ниже:

Note:

     Variables are first looked for in ‘newdata’ and then searched for
     in the usual way (which will include the environment of the
     formula used in the fit).  A warning will be given if the
     variables found are not of the same length as those in ‘newdata’
     if it was supplied.

хотя он не указывает поведение в терминах "того же имени" и т. д., Что касается формулы, термины, которые вы передали ему, были в форме foo$var и таких переменных с такими именами нет ни в newdata или вдоль пути поиска, который R будет проходить, чтобы искать их.

во втором случае вы полностью злоупотребляете нотацией формулы модели; идея заключается в том, чтобы кратко и символически опишите модель. Краткость и повторение объекта данных ad nauseum не совместимы.

поведение это ровно соответствует задокументированному поведению. Проще говоря, вы установили модель с терминами data$x и data$y затем попытался предсказать термины x и y. Что касается R, это разные имена и, следовательно, разные вещи, и это правильно, чтобы не совпадать их.