Я ищу, чтобы создать копию существующего столбца в кадре данных, который смещен на количество строк.
например. если column2 является копией column1 со смещением на 1, то
> dataframe
$column1
[1] 1 2 3 4 5
$column2
[1] 0 1 2 3 4
У меня был некоторый успех со следующим кодом:
offset7 <- rep(0, 7)
dataframe$column1.prev7 = c(offset7, dataframe$column1[1:(length(dataframe$column1)-7)])
Однако он начинает выдавать ошибки, если я смещен на 30 или более. Мои данные достаточно длинные, чтобы не было проблемы смещения больше, чем количество строк. Ошибка:
Error in dataframe$column1[1:(length(dataframe$column1) - 30)] :
only 0's may be mixed with negative subscripts
Заранее спасибо! Предпочтительна быстрая версия без петель, которая хорошо работает с plyr. Намерение здесь состоит в том, чтобы разбить данные временных рядов на различные задержки до года, а затем проанализировать результаты различными способами.