双重嵌套与tidyverse和purrr

时间:2017-02-11 18:00:33

标签: r purrr tidyverse

我想创建一个双嵌套数据结构,其中c嵌套在另一个嵌套在id中。

library(tidyverse)
m<-data_frame(id=c(100,101,100,101,100,101,100,101),
            a=c("A","A","B","B","A","A","D","D"),
            c=c(1:8))
m2 <- m %>%
group_by(id) %>%
nest(.key = one)

所以第一个巢是好的。但我想进一步在m2 $ 1内筑巢。

我知道如何做到这一点?

我可以去:

        m3 <- m2 %>%
              mutate(
                     two=map(m2$one,~(.x %>% 
                                      group_by(a) %>%
                                      nest(.key=two)))
              )

但这会在m3中提供另一列,而不是m2 $ 1。

1 个答案:

答案 0 :(得分:3)

您可以使用"${pythonEnv}"中的新双嵌套列替换单嵌套列one,方法是为结果指定相同的名称(mutate),而不是创建新列就像你一样。

one