いくつかの行によってオフセットされたデータフレーム内の既存の列のコピーを作成しようとしています。
たとえば、column2が1だけオフセットされたcolumn1のコピーである場合、
> 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でうまく機能する高速ループフリーバージョンが好まれます。ここでの目的は、時系列データを最大1年のさまざまなラグに分割し、さまざまな方法で結果を分析することです。