【问题标题】:dplyr::select of nested data framedplyr::select 嵌套数据框
【发布时间】:2017-06-30 18:04:39
【问题描述】:

我有以下示例数据框:

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))

这是一个嵌套在 1x2 数据框 (df) 中的 3x2 数据框 (df2)。有没有办法结合purrr::mapdplyr::select 在嵌套数据框中只选择column C我希望避免unnest结果应该是:

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

【问题讨论】:

  • 我可能不清楚你想做什么。 mutate(data = map(data, ~select(df2, "C"))) 做你想做的事吗?
  • 是的,这是正确的结果,但您的代码使用 df2 而不是 df。我想要一个仅使用 dfdata 列的解决方案。我提供了一个玩具示例,但在我的实际情况下,如果我尝试从嵌套的 data.frame 中选择列会更容易。

标签: r select dplyr purrr


【解决方案1】:

一旦您创建了您拥有的嵌套数据集,您就可以在同一 mutate 调用中的“数据”列上使用 map 中的 select

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

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
相关资源
最近更新 更多