データセットは、実際のデータには時刻0で、このようになります動的予測はdata.tableの方法ですか?私は、動的予測を作成する必要が
v(t) = b0 + b1*v(t-1) + b2*v(t-2) + b3*x(t-1) + b4*x(t-2)
を使用して、80種類のxのと100K「日付」があります。
date v vLag1 vLag2 x xLag1 xLag2 b1 b2 b3 b4
2016-06-30 NA 105 95 33 11 23 0.2 3.2 -1.2 0.4
2016-07-01 NA NA NA 43 33 11 0.2 3.2 -1.2 0.4
2016-07-02 NA NA NA 52 43 33 0.2 3.2 -1.2 0.4
目標は、値を持つすべてのNAのを置き換える、V年代を予測することです。 vLag1、vLag2、xLag1、xLag2を作成しました。vを1行で計算する必要があります。
すべてX 's及びB' sは前もって知られているので、私は上記に示さXのラグを作成しています。 bが係数です。各日付の
、V(T)が予測されるであろう、と予想V(T)「sは遅れ説明変数として、次の日のV予測に供給されます。
は次のように行をループを回避するには、次の
for (i in 2:nrows){
df$v[i] <- df$v[i-1] * df$coeff[i]
}
将来のすべてのV年代だけので、計算しやすいV1、参照するように、私は、繰り返し置換を使用しようとしましたv1の計算には、同じ行に他の値が含まれています。
v2 = b0 + b1*v1 + b2*v0 + b3*x1 + b4*x0
v3 = b0 + b1*v2 + b2*v1 + b3*x2 + b4*x1
(substitute v2) v3 = b0 + b1*(b0 + b1*v1 + b2*v0 + b3*x1 + b4*x0) + b2*v1 + b3*x2 + b4*x1
v4 = ...
しかし、トラックを保つためにV年代とX年代のように多くのラグで、これは、コントロールの外に出ました。
私はdata.tableのシフトの機能を参照しています。しかし、私の場合、値を動的に取得してからシフトする必要がある場合は、data.tableの関数で動的に予測する方法はありますか? (あなたはこれを簡単に行うことができない)の代わりにdata.tableの
私は実際にRcppの方法を検討していて、とのトラブルに実行し始めましたENV PATHが原因でg ++コンパイラが見つかりませんでした。私はそれを解決したら、私はあなたの解決策を試してみます。 – David
システムを設定する際に使用可能な指示に従ってください。問題なく動作するはずです。 Rcppは、ループが非常に自然であるがRで十分に効率的でないタスクに非常に役立ちます。 – Roland