dplyr::select的嵌套数据框

5
我有以下示例数据框:
library(tibble)
library(tidyverse)
df <- tibble(A = 1, B = 1)
df2 <- tibble(C = 2:4, D = 4:6)
df <- df %>%
        nest(B) %>%
        mutate(data = map(data, ~df2))

这是一个嵌套的3x2数据框(df2)在一个1x2数据框(df)内。是否有一种方法可以结合purrr::mapdplyr::select仅选择嵌套数据框中的C列我希望避免使用unnest结果应该是:

      A             data
  <dbl>           <list>
1     1 <tibble [3 x 1]>

2
我可能不太清楚你想做什么。mutate(data = map(data, ~select(df2, "C"))) 是否实现了你的需求? - aosmith
是的,这是正确的结果,但您的代码使用的是df2而不是df。我想要一个只使用dfdata列的解决方案。我提供了一个玩具示例,但在我的实际情况中,如果我尝试从嵌套的数据框中选择列,那会更容易些。 - CPak
1个回答

8

一旦你创建了嵌套数据集,你可以在同一个 mutate 调用中,在 "data" 列上使用 map 中的 select

df %>%
    nest(B) %>%
    mutate(data = map(data, ~df2),
           data = map(data, ~select(.x, "C") ) )

谢谢帮助! - CPak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接