我有以下函数为一列中的变量构建股票效果。变量创建在列B,取入ColumnA的值和从先前观察在列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
}
我的问题是现在,我有一个面板数据集在一列中有许多不同情况的观察结果。每个案例都有一个特定的指标(数字)。数据是这样的:
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
任何帮助或支持,高度赞赏!
非常感谢提前!
滞后和N的值会得到预期的输出是什么? – akrun
告诉我,如果我已经明白了:columnB [i] = columnA + columnB [i-1] * something? :) – Ale