Data <- data.frame(
A = rnorm(1:10),
B = rnorm(1:10),
C = rnorm(1:10),
D = rnorm(1:10),
X = sample(c(1,0), size=10, replace = TRUE)
)
В кадре данных Мне нужно создать два столбца Y и Z, где
Первое наблюдение Y будет равно константе, скажем, 10
Второе и последующие наблюденияY т.е. от строки 2 до 10 в этом случае будет равен = 10 + Z [предыдущее наблюдение]
пример
if Z[1] = 10 then Y[2] = 10 + Z[1] = 20
if Z[2] = 20 then Y[3] = 10 + Z[2] = 30
if Z[3] = 50 then Y[4] = 10 + Z[3] = 60
и так далее до длины Data
кадра данных.
Теперь, что касается Z, он вычисляется следующим образом:
First observation of Z is IF(X1>0,0,Y1-SUM(A1+B1+C1+D1))
Second observation of Z is IF(X2>0,0,Y2-SUM(A2+B2+C2+D2))
Third observation of Z is IF(X3>0,0,Y3-SUM(A3+B3+C3+D3))
то есть он проверяет, является ли X наблюдение из той же строки> 0, тогда Z для этой строки0 в противном случае это Y1 - сумма (A: D) для той же строки
и т. Д. До длины кадра данных.