У меня есть существующий фрейм данных с 2 столбцами.Я хочу создать третий столбец (столбцы) на основе этих спецификаций:
Текущее значение s = предыдущее значение s + [предыдущее значениеs * текущее значение X2]
Мне удалось получить некоторые вычисления как таковые, которые заполняют s на основе двух других столбцов в качестве теста.Конечно, это не делает вычислений на собственном предыдущем значении.
library(dplyr)
set.seed(123)
a <- data.frame(replicate(2,sample(1:10,10,rep = TRUE)))
a %>% mutate(s = lag(X1, default = 1) +lag(X1, default = 1) * X2)
X1 X2 s
1 3 10 11
2 8 5 18
3 5 7 64
4 9 6 35
5 10 2 27
6 1 9 100
7 6 3 4
8 9 1 12
9 6 4 45
10 5 10 66
В идеале мне нужно что-то вроде этого:
library(dplyr)
set.seed(123)
a <- data.frame(replicate(2,sample(1:10,10,rep = TRUE)))
a %>% mutate(s = lag(s, default = 1) +lag(s, default = 1) * X2)
X1 X2 s
1 3 10 11
2 8 5 66
3 5 7 528
4 9 6 3696
Но это вызывает проблему, поскольку s не определено.
Любой совет очень ценится.
С уважением, Аксель