You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dplyr筛选分组数据框:获取玩家感兴趣游戏的流派历史

解决方案(dplyr实现)

首先加载dplyr包:

library(dplyr)

使用以下代码可得到目标结果:

playerhist %>%
  # 提取所有标记为"interesting"的玩家与对应游戏编号
  left_join(
    playerhist %>%
      filter(interesting == "yes") %>%
      select(player, interesting_game = game),
    by = "player"
  ) %>%
  # 筛选出感兴趣游戏之前的所有玩家历史行
  filter(game < interesting_game) %>%
  # 整理需要的列并重命名
  select(player, game, genre_history = genre)

代码逻辑说明:

  • 先从原数据中筛选出interesting == "yes"的记录,提取玩家ID和对应的游戏编号(命名为interesting_game)。
  • 通过左连接,将原数据的每一行与该玩家的所有“感兴趣游戏”配对,确保每个感兴趣游戏都能关联到玩家的历史记录。
  • 筛选出游戏编号小于当前感兴趣游戏编号的行,即该感兴趣游戏对应的玩家历史记录。
  • 最后整理列名,得到符合要求的输出格式。

运行后输出结果与期望完全一致:

player game genre_history
1      1    1           JnR
2      1    2           Ego
3      2    1           RPG
4      2    1           RPG
5      2    2        Sports
6      2    3           JnR

内容的提问来源于stack exchange,提问作者GRowInG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 01:22:29