我有一个列alpha
的字节表示AR1进程的参数:
df = data_frame(alpha = seq(-.5, .5, .1))
现在,对于alpha
的每个值,我想对长度为100的AR1进程进行采样,并将进程添加到df
作为列表列。
以下不起作用:
df %>% mutate(ar1 = list(arima.sim(n=100, model=list(ar=alpha))))
新列ar1
的每个元素都是完全相同的过程。如何确保列ar1
的每个元素都是具有相应参数alpha
的AR1流程的实现?
答案 0 :(得分:1)
您可以使用lapply
:
library(dplyr)
df = data_frame(alpha = seq(-.5, .5, .1))
df = df %>%
mutate(ar1 = lapply(alpha, function(x) arima.sim(n=100, model=list(ar=x))))
或来自map
的{{1}}:
purrr
<强>结果:强>
df = df %>%
mutate(ar1 = purrr::map(alpha, ~ arima.sim(n=100, model=list(ar=.))))