dplr:取消嵌套矩阵列

时间:2019-05-29 03:19:11

标签: r dplyr purrr unnest

我正在尝试了解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)

0 个答案:

没有答案