使用DPLYR在R中组合多个操作

使用DPLYR在R中组合多个操作,r,dplyr,R,Dplyr,我正在尝试使用DPLYR检索和汇总数据。我写了下面的,它的工作,但我想把这一切合并成一个声明。这可能吗 创建数据集 set.seed(1) dbo_games <- data.frame( name = sample(c("Team1","Team2","Team3","Team4","Team5","Team6","Team7","Team8","Team9","Team10")), total_games = sample(1:10) ) set.seed(1) dbo_w

我正在尝试使用DPLYR检索和汇总数据。我写了下面的,它的工作,但我想把这一切合并成一个声明。这可能吗

创建数据集

set.seed(1)
dbo_games <- data.frame(
  name = sample(c("Team1","Team2","Team3","Team4","Team5","Team6","Team7","Team8","Team9","Team10")),
  total_games = sample(1:10)

)

set.seed(1)
dbo_wins <- data.frame(
  name = sample(c("Team1","Team2","Team3","Team4","Team5","Team6","Team7","Team8","Team9","Team10")),
  tota_wins = sample(c("yes", "no"), 10, replace = TRUE)
)

这段代码是可行的,但我相信可能有一种更简洁的方法来编写代码,以获得相同的结果。有什么想法吗?

如果您共享了示例数据以及为什么要这样做,那么解决这个问题就容易多了

但是,您仍然可以将它们链接在一起,如下所示:

total_games %>%
  filter(games > 12) %>%
  group_by(NAME) %>%
  summarise(total_games = n_distinct(game_id)) %>%
  left_join(total_wins %>% filter( win == 'Y') %>%
              group_by(NAME) %>%
              summarise(total_wins = n_distinct(game_id))) %>%
  mutate(pct_won = total_wins/total_games)

我想我可以,但我需要一些数据。如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易帮助您。如果我们没有样本数据,它就不是真正可复制的。
total_games %>%
  filter(games > 12) %>%
  group_by(NAME) %>%
  summarise(total_games = n_distinct(game_id)) %>%
  left_join(total_wins %>% filter( win == 'Y') %>%
              group_by(NAME) %>%
              summarise(total_wins = n_distinct(game_id))) %>%
  mutate(pct_won = total_wins/total_games)