Учет различных переменных длин после дифференцирования в линейной модели в R
Борьба с Р.
Моя линейная модель lm() содержит переменные, которые дифференцируются с помощью diff(), и переменные, которые не дифференцируются. Разностные переменные на одно наблюдение короче из-за различий. Следовательно, lm() выдает сообщение об ошибке различной длины.
Моя идея решения этой ошибки состоит в том, чтобы как-то определить переменные как временные ряды (которые они в любом случае, но R не знает об этом), а затем точно указать lm-Model, какие годы использовать (годовые данные).
В моем понимании, после дифференцирования временной ряд теряет свое первое наблюдение, поэтому, поскольку я использую функцию ts()-Funktion, я установлю начальный год через год для разностной функции.
Более конкретно: допустим, я импортировал переменные x и y, тогда я иду
dx<-diff(x, lag=1, differences=1)
пока у остается прежним
lm(y~dx)
затем выдаст указанную ошибку.
Допустим, x и y оба начинаются в 1900 году. Затем dx начинается в 1901 году, так что lm должен начаться в 1901 году для всех переменных. Моя идея, как указано выше, явно сделать обе переменные временным рядом
tsdx<-ts(dx, frequency=1, start=1901)
tsy<-ts(y, frequency=1, start:1900)
а затем как-то сказать lm() начать с 1901 года.
Это хороший способ справиться с этими проблемами? И как бы я закодировал последний шаг? Большое спасибо!