6

我想创建一个双嵌套数据结构,其中 c 嵌套在 a 中,a 进一步嵌套在 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)

所以第一窝就OK了。但我想进一步嵌套在 m2$one 中。

知道我该怎么做吗?

我可以去:

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

但这在 m3 中给出了另一列,而不是在 m2$one 中。

4

1 回答 1

5

您可以通过为结果分配相同的名称 ( ) 来one用新的双嵌套列替换单嵌套列,而不是像以前那样创建新列。mutateone

m2 %>%
    mutate(one = map(one, ~.x %>% 
                        group_by(a) %>%
                        nest(.key = two)))
于 2017-02-15T18:44:00.507 回答