迭代过滤一个数据框并创建多个过滤后的数据框

时间:2019-03-28 11:55:26

标签: r dplyr tidyverse tidyr

我有一个看起来像这样的数据框:

library(tidyverse)
df <- tibble::tribble(
  ~id,    ~list,
    1,  "apple",
    1,   "pear",
    1, "banana",
    2,  "apple",
    2, "banana",
    3,  "apple"
  )

我要创建df $ list列的唯一元素的列表

unique(df$list)
unique_list <- c("apple", "pear", "banana")

我想遍历unique_list的每个值的主df并过滤整个df并创建3个不同的数据帧作为结果,命名为df_“列表的每个元素”。 / p>

我可以为这样的单个元素做到这一点:

df %>% filter(list = 'apple') -> df_apple

# and:
df %>% filter(list = 'pear') -> df_pear

# and so on...

因此,最终我将获得3个经过过滤的数据帧,df_appledf_peardf_apple

如何使该过程更简洁?

0 个答案:

没有答案