У меня есть такая функция
adstock <- function(x, rate) {
adstocked_variable <- x
for (i in 1:(length(x)-1) ) {
adstocked_variable[i+1] <- x[i + 1] + (rate * adstocked_variable[i])
}
adstocked_variable
}
И вектор ставок примерно такой:
rates <- seq(0.00, 1, 0.25)
Как мне сопоставить функцию adstock для каждого столбца в mtcars, один раз длякаждое число в векторе ставок?
Я хочу, чтобы вывод выглядел примерно так:
$mpg
mpg_0.00 mpg_0.25 mpg_0.5
1 21.0 21.00000 21.00000
2 21.0 26.25000 31.50000
3 22.8 29.36250 38.55000
4 21.4 28.74062 40.67500
5 18.7 25.88516 39.03750
6 18.1 24.57129 37.61875
7 14.3 20.44282 33.10938
8 24.4 29.51071 40.95469
$cyl
cyl_0.00 cyl_0.25 cyl_0.5
1 6 6.000000 6.000000
2 6 7.500000 9.000000
3 4 5.875000 8.500000
4 6 7.468750 10.250000
5 8 9.867188 13.125000
6 6 8.466797 12.562500
7 8 10.116699 14.281250
8 4 6.529175 11.140625
Я пробовал варианты следующего без успеха
library(tidyverse)
mtcars %>%
map(~adstock(., rates))