我正在尝试了解invoke_map
。在这种情况下,我模拟
30个二元随机正态观测值并将其分配给分组字段
供以后使用,模拟随机截距和斜率。
一切直截了当,直到我必须取消矩阵列嵌套为止。
最主要的是mutate(u1,u2)
行似乎比
它必须是。我该怎么办呢?
N <- 30
# Simulate two correlated random normal variables into a tibble
var_u1 <- 0.0005
var_u2 <- 0.010
cov_u1_u2 <- -0.0002
SIGMA <- matrix(c(var_u1, cov_u1_u2, cov_u1_u2, var_u2), nrow = 2)
sim_u <- tribble(
~f, ~params,
'rmvnorm', list(n = N, mean = c(0,0), sigma = SIGMA)
)
sim_u %>%
mutate(u = invoke_map(f,params)) %>%
mutate(u1 = map(u,`[`,i=,j=1),
u2 = map(u,`[`,i=,j=2)) %>%
unnest(u1,u2) %>%
mutate(lab = 1:N)