我可以使用purrr执行dplyr查询并保存每个查询输出的结果

问题描述 投票:0回答:1

我有以下数据集:

combined <- data.frame(
  client = c('aaa','aaa','aaa','bbb','bbb','ccc','ccc','ddd','ddd','ddd'),
  type = c('norm','reg','opt','norm','norm','reg','opt','opt','opt','reg'),
  age = c('>50','>50','75+','<25','<25','>50','75+','25-50','25-50','75+'),
  cases = c('1','2','2','1','0','1','2','0','3','2'),
  IsActive = c('1','0','0','1','1','0','1','1','1','0')
)

并用:]标识了唯一的变量组合>

# get unique variable combinations
unique_vars <- combined %>%
  select(1:3,5) %>%
  distinct()

我正在尝试使用combined %>% anti_join(slice(unique_vars,1))对此查询purrr进行迭代,并保存查询的输出,还将cases的摘要从每个输出保存回unique_vars表。切片应遍历unique_vars的每一行,而不是固定为1

我尝试过:

qry <- combined %>% anti_join(slice(unique_vars,1))


map(.x = unique_vars %>%
      slice(.),
      ~qry %>%
      summarise(CaseCnt = sum(cases)) %>%
      inner_join(.x))

我想要的输出将是两件事:

  1. 查询的完整输出
  2. 已将新的Field CaseCnt添加到unique_vars数据框中
  3. 这可能吗?

我有以下数据集:组合

r dplyr purrr
1个回答
0
投票

尽管我没有完全遵循查询的直觉,但似乎对于#1来说您想要:

© www.soinside.com 2019 - 2024. All rights reserved.