我试图计算篮球阵容的统计数据,给出了比赛数据。特别是我有一个 Dataframe ,或多或少看起来像这样
| 游戏标识|操作标识|组标识|事件|第1页|第二页|第三页|第四页|第5页|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| G1级|1个|高|3PA|A类|乙|C级|D级|E级|
| G1级|第二章|五|雷布|A类|乙|C级|D级|E级|
我想对pivot_longer
进行排序,但不是用名称(p1:p5)和值(A:E)作为列,而是寻找一个函数,它允许我找到k个参与者(1〈= k〈= 5)的所有组合。例如,如果k = 2,它将是这样的:
| 游戏标识|操作标识|组标识|事件|p_组合1|p_comb2|
| - ------|- ------|- ------|- ------|- ------|- ------|
| G1级|1个|高|3PA|A类|乙|
| G1级|1个|高|3PA|A类|C级|
| G1级|1个|高|3PA|A类|D级|
| G1级|1个|高|3PA|A类|E级|
| G1级|1个|高|3PA|乙|C级|
| G1级|1个|高|3PA|乙|D级|
| G1级|1个|高|3PA|乙|E级|
| G1级|1个|高|3PA|C级|D级|
| G1级|1个|高|3PA|C级|E级|
| G1级|1个|高|3PA|D级|E级|
| G1级|第二章|五|雷布|A类|乙|
| G1级|第二章|五|雷布|A类|C级|
| G1级|第二章|五|雷布|A类|D级|
| G1级|第二章|五|雷布|A类|E级|
| G1级|第二章|五|雷布|乙|C级|
| G1级|第二章|五|雷布|乙|D级|
| G1级|第二章|五|雷布|乙|E级|
| G1级|第二章|五|雷布|C级|D级|
| G1级|第二章|五|雷布|C级|E级|
| G1级|第二章|五|雷布|D级|E级|
我的具体要求是:
- 能够将k设置为某个函数的参数
- 避免手动自联接(如果这不是唯一可能的解决方案)
- 我可以在分组后执行此操作,因此我只查找相同操作内的组合,而不是数据集中的所有组合
- 在同一管道中执行所有操作,避免
lapply
,并尽可能执行循环
像这样的函数存在吗?
我尝试了自连接,这实际上是一个可能的解决方案,即使它看起来不是很优雅。
2条答案
按热度按时间xmd2e60i1#
您可以:
mcvgt66p2#
请检查以下代码
创建于2023年1月28日,使用reprex v2.0.2