Мой набор данных состоит из 60 наблюдений в трех переменных, x1
и x2
, которые являются моими предикторами, и y
, который является моим ответом. Проблема в том, что последние 20 наблюдений в y
отсутствуют, поэтому я установил модель линейной регрессии, которую я назвал fit
, на первые 40 наблюдений, и теперь я пытаюсь использовать функцию predict
для генерации отсутствующих значений.Функция предсказания возвращает больше значений, чем требуется
Код для регрессии я использовал это
< подходит -lm (Y1A ~ x1a + X2A)
где Y1A, x1a и X относятся к первым 40 наблюдениям.
код я использую для заполнения остальных значений:
x <- data.frame(data$x1[41:60], data$x2[41:60])
predict(fit,x,interval="prediction",level=0.95)
Но теперь проблема в том, что я получаю 40 новых значений y
вместо требуемого 20, вместе с предупреждающим сообщением:
«NewData» было 20 строк, но переменные, найденные у 40 строк
Не могли бы вы сказать мне, что я делаю ж Ронг?
Я включил код, который вы запрашиваемую в моем вопросе. – JohnK
Это работает, спасибо. – JohnK
Спасибо! Это очень распространенная проблема, на которую много раз отвечали SO. К сожалению, люди обычно подходят к нему под разными углами и не понимают, что это одна и та же фундаментальная проблема. Сначала я тоже очень смущался. – Backlin