変数のストックエフェクトを1つの列に作成する次の関数があります。変数がColumnAの値をとる列Bの値を作成し、B列の前の観察から(例えば0.5のような)キャリーオーバー他の列の値に応じて行にR関数を適用
constructZ <- function(lag, N) {
r <- lag^(seq_len(N)-1)
m <- matrix(rep(r,N),nrow=N)
z <- matrix(0,nrow=N,ncol=N)
z[lower.tri(z,diag=TRUE)] <- m[row(m) <= (N+1-col(m))]
z
}
を追加私の問題は、私はパネルデータセットを持っているということになりました多くの異なるケースについて1つの列で観察しています。それぞれのケースには特定のインジケータ(数値)があります。データは次のようになります。
ColumnA Indicator Time
1 1 1
0 1 2
0 1 3
4 2 1
5 2 2
0 2 3
4 3 1
0 3 2
2 3 3
すべての観測(時間)に対して各ケース(インジケータ)に関数を適用します。
どのようにこれを達成するためのアイデアですか?出力は次のようになります。
ColumnA Indicator Time ColumnB
1 1 1 1
0 1 2 0.5
0 1 3 0.25
4 2 1 4
5 2 2 7
0 2 3 3.5
4 3 1 4
0 3 2 2
2 3 3 3
ご協力いただきありがとうございます。
事前に感謝します。
期待される出力を得るためにlagとNの値はどのようになりますか? – akrun
私が理解したかどうか教えてください:columnB [i] = columnA + columnB [i-1] *何か? :) – Ale