首页 > 解决方案 > 在不关心观察顺序的情况下计算“字符”列的组合数

问题描述

我相信我已经阅读了每篇与我有类似问题的 StackOverflow 帖子,但我无法找到解决方案。

这是我的数据的可重复样本:

structure(list(GameID = c(2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 2793L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 2794L, 
2794L, 2794L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 
2795L, 2795L, 2795L, 2795L, 2795L, 2795L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 
2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2796L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 2797L, 
2797L, 2797L, 2797L, 2797L, 2797L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 2798L, 
2798L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 
2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 
2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 
2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 
2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 
2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L, 2799L
), EventID = c(15L, 25L, 45L, 50L, 55L, 60L, 65L, 70L, 85L, 95L, 
100L, 110L, 115L, 135L, 155L, 160L, 170L, 175L, 180L, 185L, 200L, 
210L, 225L, 235L, 255L, 290L, 295L, 305L, 320L, 340L, 345L, 350L, 
355L, 360L, 365L, 370L, 380L, 385L, 415L, 425L, 440L, 445L, 465L, 
480L, 500L, 515L, 525L, 530L, 545L, 565L, 570L, 580L, 610L, 625L, 
630L, 635L, 645L, 660L, 665L, 675L, 700L, 715L, 720L, 725L, 730L, 
735L, 805L, 810L, 25L, 30L, 45L, 60L, 65L, 70L, 80L, 85L, 95L, 
105L, 115L, 120L, 135L, 140L, 155L, 160L, 170L, 190L, 205L, 215L, 
260L, 265L, 275L, 285L, 290L, 295L, 300L, 310L, 325L, 330L, 350L, 
355L, 380L, 390L, 405L, 415L, 435L, 440L, 445L, 450L, 455L, 495L, 
500L, 505L, 515L, 525L, 540L, 565L, 575L, 580L, 600L, 615L, 620L, 
625L, 635L, 645L, 650L, 655L, 665L, 670L, 695L, 700L, 715L, 720L, 
725L, 730L, 735L, 755L, 760L, 770L, 775L, 780L, 785L, 790L, 795L, 
810L, 815L, 830L, 855L, 860L, 865L, 870L, 875L, 880L, 890L, 900L, 
905L, 910L, 920L, 925L, 940L, 945L, 15L, 20L, 30L, 35L, 55L, 
75L, 100L, 120L, 135L, 145L, 165L, 180L, 210L, 225L, 230L, 235L, 
260L, 265L, 275L, 290L, 295L, 300L, 320L, 325L, 345L, 360L, 370L, 
380L, 390L, 400L, 410L, 415L, 420L, 425L, 430L, 465L, 470L, 485L, 
505L, 515L, 520L, 525L, 540L, 545L, 560L, 580L, 585L, 600L, 605L, 
610L, 615L, 620L, 630L, 635L, 645L, 650L, 660L, 680L, 720L, 725L, 
730L, 740L, 755L, 760L, 785L, 805L, 840L, 10L, 20L, 30L, 35L, 
40L, 70L, 80L, 90L, 95L, 100L, 130L, 135L, 140L, 150L, 160L, 
175L, 185L, 215L, 220L, 235L, 245L, 250L, 260L, 275L, 280L, 285L, 
290L, 305L, 330L, 335L, 340L, 345L, 350L, 380L, 385L, 395L, 405L, 
420L, 425L, 435L, 440L, 465L, 495L, 500L, 510L, 515L, 520L, 535L, 
545L, 555L, 560L, 580L, 595L, 600L, 615L, 635L, 645L, 665L, 680L, 
685L, 690L, 695L, 700L, 710L, 715L, 725L, 730L, 745L, 755L, 775L, 
780L, 785L, 790L, 840L, 845L, 850L, 855L, 860L, 870L, 880L, 885L, 
900L, 15L, 20L, 30L, 40L, 45L, 55L, 60L, 85L, 90L, 105L, 130L, 
135L, 145L, 200L, 215L, 220L, 235L, 240L, 245L, 255L, 260L, 295L, 
300L, 305L, 330L, 335L, 345L, 350L, 360L, 375L, 380L, 385L, 390L, 
395L, 400L, 405L, 415L, 425L, 465L, 470L, 480L, 495L, 500L, 520L, 
530L, 545L, 605L, 610L, 620L, 635L, 645L, 670L, 705L, 710L, 745L, 
750L, 755L, 765L, 775L, 870L, 875L, 40L, 50L, 55L, 65L, 75L, 
80L, 85L, 90L, 110L, 120L, 125L, 145L, 155L, 175L, 180L, 200L, 
205L, 240L, 250L, 255L, 265L, 270L, 280L, 290L, 295L, 300L, 305L, 
325L, 340L, 365L, 370L, 385L, 415L, 420L, 425L, 435L, 445L, 455L, 
500L, 510L, 525L, 560L, 575L, 610L, 625L, 635L, 640L, 650L, 655L, 
670L, 675L, 685L, 700L, 715L, 725L, 730L, 760L, 765L, 775L, 785L, 
800L, 805L, 815L, 820L, 825L, 830L, 835L, 870L, 890L, 910L, 925L, 
930L, 935L, 945L, 950L, 960L, 965L, 10L, 15L, 30L, 70L, 85L, 
90L, 95L, 105L, 110L, 120L, 125L, 145L, 155L, 160L, 185L, 190L, 
195L, 200L, 220L, 240L, 245L, 250L, 255L, 260L, 270L, 280L, 285L, 
300L, 305L, 310L, 315L, 340L, 350L, 365L, 370L, 375L, 385L, 390L, 
440L, 465L, 475L, 480L, 495L, 515L, 520L, 530L, 540L, 570L, 585L, 
615L, 625L, 635L, 640L), route.combos = c("Fade - Back Shoulder, Curl, Go/Fly, Out, Curl", 
"Go/Fly, Curl, Dig, Check & Release", "Fade, Swing - Left, Slant, Dig, Curl", 
"Jet Sweep Pass, Swing - Right", "Corner, Curl, Post, Curl, Slant", 
"Sluggo, Post, Curl, Chip - Flat, Flat - Left", "Go/Fly, Seam, Deep Cross, Dig, Flat - Right", 
"Curl, Dig, Post, Chip - Flat", "Curl, Seam, Curl, Dig, Curl", 
"Screen - RB", "Flat - Right, Fade, Out, Fade, Out", "Curl, Flat - Left, Dig", 
"Deep Cross, Screen - Bubble, Post, Run Fake", "Curl, Curl, Curl", 
"Swing - Left, Screen - TE, Screen - Bubble", "Curl, Flat - Left, Curl, Flat - Right", 
"Flat - Right, Slant, Slant, Run Fake", "Run Fake, Beneath, Fade", 
"Flat - Left, Swing - Right, Comeback, Deep Cross", "Curl, Post, Slant, Drag, Flat - Left", 
"Swing - Right, Run Fake, Slant", "Curl, Fade, Dig, Dig, Flat - Right", 
"Curl, Chip - Flat, Curl, Chip - Flat", "Chip - Drag, Go/Fly, Out, Dig, Chip - Flat", 
"Curl, Slant, Flat - Left, Curl, Wheel", "Drag, Curl, Deep Cross, Drag, Flat - Left", 
"Whip, Whip, Corner", "Screen - Tunnel, Run Fake", "Wheel, Deep Cross, Beneath, Run Fake, Seam", 
"Post, Curl, Fade, Out, Chip - Flat", "Dig, Seam, Corner, Drag, Dig", 
"Curl, Drag, Drag, Out, Swing - Left", "Dig, Dig, Fade, Out", 
"Check & Release, Go/Fly, Seam, Fade, Seam", "Curl, Post, Drag, Out, Chip - Curl", 
"Dig, Post, Curl, Go/Fly", "Curl, Slant, Slant, Corner, Swing - Right", 
"Go/Fly, Corner, Out, Curl", "Fade, Out, Run Fake", "Slant, Slant, Dig, Out, Out", 
"Screen - Bubble, Slant, Flat - Right", "Post, Wheel, Swing - Left, Post, Seam", 
"Swing - Left, Dig, Run Fake", "Slant, Curl, Seam, Slant, Swing - Left", 
"Out, Post, Out, Deep Cross, Check & Release", "Flat - Right, Swing - Left, Drag, Out", 
"Dig, Flat - Left, Fade, Curl, Check & Release", "Dig, Deep Cross, Dig, Drag, Flat - Left", 
"Drag, Deep Cross, Seam, Fade, Swing - Left", "Whip, Fade, Seam, Curl, Post", 
"Dig, Out, Post, Drag", "Out, Out, Run Fake", "Over Ball, Pick, Drag, Curl, Swing - Right", 
"Seam, Curl, Out, Slant, Fade", "Fade, Curl, Fade, Curl, Check & Release", 
"Dig, Curl, Out, Fade, Fade", "Out, Go/Fly, Dig, Dig, Out", "Out, Flat - Right, Fade, Fade, Chip - Flat", 
"Out, Curl, Out, Out", "Curl, Drag, Fade, Seam, Seam", "Curl, Drag, Corner, Slant, Flat - Left", 
"Out, Fade, Fade, Go/Fly, Curl", "Go/Fly, Out, Post, Out, Hitch & Go", 
"Curl, Slant, Fade, Screen - Tunnel", "Curl, Corner, Dig, Slant, Post", 
"Out, Corner, Corner, Dig, Slant", "Dig, Out, Fade, Seam, Curl", 
"Curl, Post, Curl, Fade, Curl", "Curl, Dig, Corner, Drag, Flat - Right", 
"Check & Release, Corner, Chip - Flat, Dig, Chip - Flat", "Curl, Curl, Curl, Out, Chip - Flat", 
"Deep Cross, Corner, Run Fake, Whip, Run Fake", "Dig, Go/Fly, Post, Go/Fly, Dig", 
"Chip - Flat, Go/Fly, Go/Fly, Out, Slant", "Post, Wheel, Drag, Dig, Swing - Left", 
"Screen - RB, Slant, Beneath", "Flat - Right, Fade, Go/Fly, Drag, Dig", 
"Curl, Comeback, Curl, Slant, Slant", "Screen - Quick", "Beneath, Drag, Corner, Flat - Right", 
"Whip, Post", "Comeback, Deep Cross, Flat - Left", "Go/Fly, Out, Curl, Dig, Flat - Right", 
"Flat - Left, Slant, Curl, Dig, Flat - Right", "Go/Fly, Go/Fly, Fade, Dig, Screen - RB", 
"Flat - Left, Curl, Deep Cross", "Out, Curl, Curl, Out", "Check & Release, Fade, Screen - Quick, Curl", 
"Slant, Curl, Curl, Corner, Swing - Right", "Go/Fly, Curl, Go/Fly, Curl, Check & Release", 
"Flat - Left, Deep Cross, Whip, Chip - Flat, Corner", "Slant, Curl, Go/Fly, Flat - Right", 
"Deep Cross, Curl, Post, Screen - RB", "Screen - Tunnel, Swing - Left", 
"Out, Drag, Dig, Fade", "Drag, Drag, Seam, Flat - Right", "Swing - Left, Deep Cross, Slant, Deep Cross, Go/Fly", 
"Corner, Curl, Curl, Curl, Flat - Right", "Curl, Curl, Flat - Left, Corner, Flat - Right", 
"Check & Release, Dig, Deep Cross, Deep Cross, Drag", "Curl, Post, Out, Seam, Quick", 
"Swing - Left, Go/Fly, Drag, Go/Fly, Out", "Out, Curl, Over Ball, Out, Check & Release", 
"Dig, Curl, Fade, Flat - Right, Swing - Left", "Curl, Curl, Curl, Curl, Curl", 
"Chip - Flat, Post, Curl, Fade", "Curl, Flat - Right, Corner, Flat - Left, Corner", 
"Check & Release, Curl, Dig, Dig, Flat - Right", "Dig, Flat - Left, Curl, Slant, Pick", 
"Beneath, Deep Cross, Dig, Flat - Left", "Quick, Seam, Out, Go/Fly", 
"Post, Slant, Go/Fly, Drag", "Hitch & Go, Curl, Post, Drag, Angle", 
"Post, Seam, Deep Cross, Flat - Left, Chip - Drag", "Seam, Post, Go/Fly, Go/Fly, Drag", 
"Check & Release, Drag, Out, Dig, Dig", "Screen - RB, Go/Fly, Deep Cross", 
"Chip - Curl, Dig, Dig, Out, Out", "Flat - Right, Post, Out, Curl, Seam", 
"Flat - Right, Out, Dig, Sluggo, Curl", "Corner, Screen - RB, Flat - Right", 
"Run Fake, Slant, Screen - Bubble, Slant", "Go/Fly, Curl, Seam, Go/Fly, Out", 
"Flat - Right, Corner, Curl, Over Ball", "Flat - Left, Deep Cross, Go/Fly", 
"Run Fake, Deep Cross, Deep Cross", "Screen - Quick", "Wheel, Go/Fly, Drag, Go/Fly", 
"Seam, Go/Fly, Chip - Drag, Drag, Chip - Flat", "Slant, Slant, Post, Slant", 
"Angle, Dig, Post, Out, Drag", "Swing - Right, Corner, Out, Dig, Curl", 
"Check & Release, Curl, Out, Over Ball, Curl", "Dig, Seam, Dig, Dig, Corner", 
"Flat - Right, Corner, Flat - Left, Corner, Curl", "Wheel, Drag, Curl, Drag, Go/Fly", 
"Drag, Go/Fly, Go/Fly, Seam, Chip - Flat", "Comeback, Dig, Flat - Left, Dig, Post", 
"Slant, Over Ball, Slant, Slant, Flat - Left", "Out, Corner, Curl, Dig, Check & Release", 
"Curl, Flat - Right, Dig, Curl, Seam", "Drag, Out, Out, Drag", 
"Curl, Dig, Out, Curl", "Slant, Out, Go/Fly, Flat - Left, Sluggo", 
"Post Corner, Whip, Drag, Beneath, Run Fake", "Go/Fly, Run Fake, Slant, Chip - Flat, Chip - Flat", 
"Corner, Curl, Dig, Post, Out", "Out, Go/Fly, Post, Swing - Right, Curl", 
"Curl, Slant, Flat - Right, Slant, Curl", "Corner, Chip - Flat, Corner, Chip - Flat, Curl", 
"Curl, Post, Comeback, Curl, Seam", "Go/Fly, Curl, Post, Chip - Flat, Out", 
"Slant, Flat - Left, Go/Fly, Go/Fly, Screen - RB", "Curl, Go/Fly, Go/Fly, Go/Fly, Seam", 
"Flat - Right, Corner, Curl, Dig, Swing - Left", "Dig, Curl, Corner, Flat - Right, Swing - Left", 
"Dig, Curl, Corner, Drag, Flat - Left", "Dig, Whip, Stick - Nod, Drag, Flat - Left", 
"Seam, Go/Fly, Go/Fly, Go/Fly, Curl", "Go/Fly, Go/Fly, Go/Fly, Deep Cross", 
"Curl, Curl, Curl, Curl, Out", "Curl, Seam, Curl, Seam, Over Ball", 
"Go/Fly, Over Ball, Dig, Flat - Right, Angle", "Slant, Chip - Curl, Slant, Flat - Right", 
"Screen - Bubble, Run Fake", "Drag, Flat - Right, Dig, Drag", 
"Go/Fly, Out, Dig, Go/Fly, Out", "Wheel, Drag, Post, Deep Cross, Curl", 
"Corner, Post", "Curl, Dig, Out, Seam, Curl", "Corner, Beneath, Run Fake", 
"Curl, Corner, Chip - Drag, Flat - Left", "Go/Fly, Out, Dig, Slant, Seam", 
"Go/Fly, Post", "Dig, Drag, Out, Go/Fly", "Beneath, Drag, Chip - Curl, Corner, Run Fake", 
"Post, Curl, Curl, Post, Curl", "Dig, Dig, Seam, Go/Fly, Out", 
"Dig, Post, Deep Cross, Chip - Drag", "Flat - Right, Out, Curl, Out", 
"Drag, Corner, Corner, Run Fake", "Fade, Deep Cross, Seam, Chip - Drag", 
"Curl, Comeback, Dig, Run Fake", "Go/Fly, Fade, Dig, Over Ball, Wheel", 
"Corner, Chip - Flat, Curl, Out, Curl", "Slant, Dig, Out, Fade, Curl", 
"Go/Fly, Dig, Out, Go/Fly, Chip - Curl", "Wheel, Whip, Curl, Flat - Left, Whip", 
"Go/Fly, Go/Fly, Seam, Seam, Angle", "Curl, Corner, Flat - Left, Curl, Dig", 
"Seam, Deep Cross, Angle, Go/Fly, Comeback", "Drag, Corner, Post, Dig, Flat - Right", 
"Fade, Seam, Fade, Seam, Curl", "Out, Pick, Out, Deep Cross", 
"Fade, Fade, Seam, Seam", "Slant, Slant, Fade, Out, Out", "Curl, Slant, Flat - Left, Corner, Curl", 
"Post, Go/Fly, Curl, Flat - Left", "Out, Curl, Dig, Flat - Left, Comeback", 
"Drag, Chip - Seam, Out, Post, Curl", "Go/Fly, Out, Chip - Drag, Go/Fly, Out", 
"Dig, Seam, Curl, Dig", "Chip - Drag, Dig, Go/Fly, Dig", "Go/Fly, Swing - Right, Sluggo, Curl, Dig", 
"Go/Fly, Dig, Deep Cross, Drag, Wheel", "Out, Corner, Chip - Flat", 
"Chip - Flat, Post Corner, Corner, Dig", "Out, Go/Fly, Dig, Drag, Curl", 
"Post, Curl, Deep Cross, Out", "Curl, Go/Fly, Go/Fly, Deep Cross, Go/Fly", 
"Deep Cross, Slant, Screen - RB", "Slant, Dig, Corner, Drag", 
"Out, Corner, Drag, Drag", "Go/Fly, Out & Up, Chip - Flat, Dig, Chip - Drag", 
"Deep Cross, Beneath, Corner, Flat - Right, Run Fake", "Go/Fly, Out, Drag, Curl, Go/Fly", 
"Whip, Curl, Post, Post, Curl", "Curl, Swing - Right, Fade, Seam, Seam", 
"Dig, Dig, Post, Go/Fly, Check & Release", "Curl, Seam, Out, Curl, Curl", 
"Out, Out, Out, Out, Curl", "Dig, Dig, Go/Fly", "Curl, Corner, Curl, Corner, Seam", 
"Slant, Slant, Go/Fly, Flat - Right, Curl", "Out, Drag, Slant, Out, Out", 
"Drag, Corner, Corner, Post", "Slant, Slant, Slant, Seam, Flat - Right", 
"Drag, Dig, Corner, Out", "Dig, Out, Dig, Check & Release", "Out, Out, Go/Fly, Curl, Swing - Right", 
"Go/Fly, Curl, Curl, Go/Fly, Curl", "Curl, Seam, Dig, Dig", "Out, Post, Out, Quick", 
"Curl, Swing - Left, Curl", "Post, Slant, Fade, Run Fake", "Go/Fly, Wheel, Screen - TE, Run Fake", 
"Curl, Post Corner, Whip, Corner, Curl", "Fade, Seam, Curl, Fade, Whip", 
"Deep Cross, Go/Fly, Deep Cross", "Curl, Dig, Curl, Curl", "Go/Fly, Screen - Bubble, Screen - RB", 
"Curl, Dig, Deep Cross, Swing - Right, Curl", "Fade, Seam, Out, Corner, Flat - Right", 
"Fade, Chip - Flat, Dig, Curl", "Dig, Deep Cross, Drag, Corner, Swing - Right", 
"Post, Go/Fly, Chip - Flat, Curl, Swing - Right", "Out, Curl, Post, Out, Out", 
"Go/Fly, Fade, Comeback, Check & Release", "Angle, Go/Fly, Deep Cross, Go/Fly, Go/Fly", 
"Swing - Right, Dig, Screen - RB", "Curl, Curl, Swing - Left", 
"Run Fake, Out, Fade, Curl, Curl", "Angle, Out, Curl, Go/Fly, Check & Release", 
"Go/Fly, Swing - Left, Screen - RB", "Screen - Quick, Slant, Screen - Tunnel, Run Fake", 
"Dig, Dig, Dig, Seam, Swing - Left", "Curl, Go/Fly, Dig, Go/Fly", 
"Out, Dig, Out, Curl, Flat - Right", "Screen - Quick, Out, Run Fake", 
"Go/Fly, Slant, Drag, Curl", "Swing - Left, Deep Cross, Flat - Right", 
"Drag, Deep Cross, Deep Cross, Swing - Left, Angle", "Whip, Corner Post, Whip, Corner, Curl", 
"Go/Fly, Out & Up, Curl, Quick, Drag", "Out, Go/Fly, Deep Cross, Dig", 
"Screen - Bubble", "Chip - Flat, Out, Go/Fly, Go/Fly", "Dig, Dig, Curl, Over Ball, Out", 
"Screen - Quick, Screen - Tunnel", "Go/Fly, Out, Go/Fly", "Dig, Fade, Drag", 
"Screen - Quick, Screen - Quick, Run Fake", "Screen - RB, Go/Fly, Curl, Out, Flat - Right", 
"Comeback, Dig, Dig", "Chip - Flat, Drag, Curl, Go/Fly, Angle", 
"Check & Release, Dig, Out & Up, Seam, Out", "Curl, Go/Fly, Post, Comeback, Out", 
"Check & Release, Go/Fly, Seam, Go/Fly, Out", "Fade, Curl, Curl, Comeback, Flat - Right", 
"Out, Post, Whip, Deep Cross, Dig", "Quick, Screen - Bubble", 
"Go/Fly, Curl, Curl, Seam, Curl", "Check & Release, Dig, Curl, Post, Dig", 
"Drag, Curl, Out, Drag, Wheel", "Swing - Left, Corner, Out, Dig, Curl", 
"Swing - Right, Slant, Screen - TE", "Swing - Left, Fade, Screen - RB", 
"Check & Release, Corner, Curl, Out", "Jet Sweep Pass, Run Fake", 
"Drag, Comeback, Dig, Post, Chip - Seam", "Flat - Right, Curl, Curl, Curl, Fade", 
"Chip - Curl, Dig, Out, Slant, Slant", "Run Fake, Beneath, Beneath, Deep Cross, Chip", 
"Slant, Dig, Dig, Slant, Flat - Right", "Post, Post, Quick", 
"Dig, Dig, Curl, Drag, Out", "Curl, Dig, Curl, Seam, Whip", "Chip - Flat, Curl, Go/Fly, Curl, Dig", 
"Run Fake, Deep Cross, Chip - Flat, Corner", "Jet Sweep Pass, Run Fake", 
"Chip - Curl, Out, Go/Fly, Dig, Deep Cross", "Curl, Corner, Out, Swing - Right, Dig", 
"Post, Dig, Flat - Right, Curl, Curl", "Check & Release, Out, Curl, Dig, Flat - Right", 
"Chip - Curl, Fade, Post, Drag, Dig", "Swing - Left, Out, Over Ball, Curl, Curl", 
"Post, Out, Curl, Post, Curl", "Curl, Curl, Post, Go/Fly", "Flat - Right, Deep Cross, Drag, Out, Chip - Curl", 
"Flat - Right, Dig, Chip - Drag, Post, Out", "Over Ball, Corner Post, Post, Deep Cross, Out", 
"Curl, Curl, Out, Curl, Slant", "Flat - Right, Out, Beneath, Deep Cross", 
"Flat - Right, Post, Out, Out, Dig", "Out, Out, Corner, Drag, Dig", 
"Swing - Right, Screen - Quick, Curl", "Flat - Right, Out, Drag, Drag", 
"Out, Out, Curl, Seam", "Comeback, Deep Cross, Dig, Out, Check & Release", 
"Deep Cross, Drag, Post", "Seam, Curl, Wheel, Slant, Out", "Curl, Curl, Curl, Flat - Right", 
"Fade, Flat - Left, Curl, Run Fake, Flat - Right", "Curl, Curl", 
"Check & Release, Seam, Go/Fly, Seam, Fade", "Go/Fly, Wheel, Post", 
"Slant, Slant, Go/Fly, Fade", "Screen - Bubble, Run Fake", "Post, Flat - Left, Out, Chip - Flat, Flat - Right", 
"Out, Slant, Go/Fly", "Screen - TE, Flat - Left", "Screen - Bubble, Slant, Run Fake", 
"Screen - Bubble, Screen - Tunnel", "Screen - Bubble", "Run Fake, Deep Cross, Whip, Deep Cross, Chip - Flat", 
"Post, Deep Cross, Wheel, Run Fake", "Run Fake, Screen - TE, Deep Cross, Deep Cross", 
"Dig, Fade, Drag, Drag, Chip - Flat", "Screen - RB", "Dig, Drag, Flat - Left, Dig, Out", 
"Wheel, Go/Fly, Dig, Dig, Out", "Slant, Slant, Slant, Flat - Right", 
"Out, Comeback, Seam, Fade, Seam", "Go/Fly, Drag, Fade, Seam, Seam", 
"Flat - Left, Corner, Dig, Over Ball, Dig", "Flat - Left, Curl, Drag, Dig, Corner", 
"Flat - Right, Corner, Chip - Flat, Out, Slant", "Screen - Bubble, Screen - Bubble", 
"Flat - Right, Corner, Post, Dig, Drag", "Run Fake, Seam, Slant, Screen - Tunnel", 
"Screen - RB", "Flat - Left, Curl, Dig, Seam, Curl", "Flat - Left, Fade, Out, Curl, Curl", 
"Out, Dig, Out, Seam, Chip - Drag", "Angle, Comeback, Out, Out, Fade", 
"Dig, Whip, Deep Cross, Curl, Chip - Flat", "Run Fake, Whip, Out, Chip - Flat, Drag", 
"Flat - Left, Curl, Curl, Flat - Right, Curl", "Screen - RB, Screen - Bubble", 
"Flat - Left, Curl, Curl, Dig, Dig", "Slant", "Swing - Left, Curl, Seam", 
"Curl, Curl, Curl, Curl", "Chip - Curl, Post, Wheel, Seam, Drag", 
"Slant, Quick, Curl, Post, Curl", "Fade, Fade, Slant, Go/Fly, Go/Fly", 
"Flat - Right, Dig, Chip - Drag, Post, Corner", "Run Fake, Screen - Bubble", 
"Chip, Out, Go/Fly, Out, Drag", "Out, Go/Fly, Whip, Drag", "Flat - Left, Drag, Post, Deep Cross, Corner", 
"Run Fake, Over Ball, Comeback, Beneath, Deep Cross", "Seam, Whip, Post, Out, Go/Fly", 
"Post, Out, Post, Run Fake", "Flat - Left, Post Corner, Post Corner, Dig", 
"Flat - Left, Corner, Post, Curl, Dig", "Dig, Curl, Check & Release, Corner, Deep Cross", 
"Check & Release, Go/Fly, Chip - Drag, Dig, Out", "Flat - Right, Post, Go/Fly", 
"Curl, Out, Over Ball, Dig, Dig", "Out, Post, Curl, Post, Curl", 
"Flat - Left, Post, Deep Cross, Dig", "Run Fake, Curl, Go/Fly", 
"Go/Fly, Deep Cross, Swing - Right, Chip - Drag, Out", "Drag, Seam, Dig, Out, Check & Release", 
"Flat - Right, Dig, Swing - Left, Corner, Out", "Curl, Go/Fly, Curl, Drag, Swing - Right", 
"Seam, Seam, Drag, Go/Fly, Go/Fly", "Curl, Drag, Curl, Go/Fly", 
"Curl, Seam, Post, Dig, Check & Release", "Curl, Curl, Flat - Left", 
"Screen - TE, Go/Fly, Run Fake", "Curl, Out, Over Ball, Curl, Wheel", 
"Curl, Curl, Curl, Chip - Flat, Chip - Flat", "Post, Go/Fly, Run Fake", 
"Slant, Seam, Run Fake", "Dig, Go/Fly, Out, Chip - Drag", "Chip - Flat, Deep Cross, Post, Dig, Chip - Drag", 
"Deep Cross, Post, Out, Flat - Right", "Out, Post, Post, Slant, Flat - Right", 
"Chip - Flat, Chip - Seam, Out, Go/Fly, Out", "Curl, Flat - Left, Dig, Over Ball, Swing - Right", 
"Curl, Flat - Left, Curl, Flat - Right, Curl", "Curl, Curl, Fade, Curl, Flat - Left", 
"Go/Fly, Slant, Go/Fly, Whip, Dig", "Dig, Flat - Left, Seam, Slant, Slant", 
"Go/Fly, Curl, Drag, Curl, Check & Release", "Flat - Left, Chip - Drag, Dig, Corner, Deep Cross", 
"Dig, Drag, Out, Corner", "Go/Fly, Post, Swing - Left", "Curl, Post, Curl, Angle, Flat - Left", 
"Curl, Check & Release, Drag, Out & Up, Corner", "Corner, Corner, Flat - Right", 
"Curl, Drag, Over Ball, Swing - Left, Curl", "Slant, Screen - Bubble", 
"Go/Fly, Seam, Fade, Drag, Deep Cross", "Flat - Left, Deep Cross, Out & Up, Drag, Go/Fly", 
"Post, Dig, Chip - Flat, Corner, Run Fake", "Flat - Right, Drag, Go/Fly, Corner", 
"Screen - Shovel, Run Fake", "Corner, Whip, Drag, Flat - Left", 
"Fade, Whip, Fade - Back Shoulder", "Swing - Left, Curl, Flat - Right, Curl, Curl", 
"Drag, Curl, Seam, Flat - Right, Angle", "Chip - Flat, Drag, Dig, Out, Curl", 
"Screen - Bubble, Post", "Go/Fly, Post, Fade", "Go/Fly, Drag, Dig, Drag, Check & Release", 
"Curl, Go/Fly, Post, Drag", "Curl, Curl, Flat - Right", "Deep Cross, Curl, Corner", 
"Go/Fly, Go/Fly, Go/Fly, Go/Fly, Screen - RB", "Swing - Left, Go/Fly, Wheel, Out, Slant", 
"Whip, Deep Cross, Go/Fly, Out, Go/Fly", "Go/Fly, Out, Curl, Slant, Swing - Left", 
"Over Ball, Drag, Dig, Drag, Go/Fly", "Drag, Out, Post Corner", 
"Dig, Chip - Curl, Corner, Chip - Flat, Swing - Left", "Curl, Fade, Whip, Curl, Swing - Left", 
"Go/Fly, Seam, Dig, Curl, Check & Release", "Curl, Dig, Curl, Post, Curl", 
"Dig, Out, Curl, Curl", "Curl, Comeback, Curl, Out & Up, Flat - Left", 
"Chip - Curl, Go/Fly, Post, Post", "Corner, Go/Fly, Post, Chip - Flat, Flat - Left", 
"Post, Out, Dig, Curl, Wheel", "Go/Fly, Deep Cross, Post, Out", 
"Wheel, Swing - Right, Curl, Curl, Dig", "Swing - Left, Dig, Pick, Drag, Dig", 
"Curl, Post, Curl, Dig, Swing - Left", "Check & Release, Over Ball, Go/Fly, Flat - Left, Curl", 
"Seam, Curl, Over Ball, Curl, Check & Release", "Corner, Flat - Right, Curl, Out, Corner", 
"Screen - Quick, Screen - Tunnel", "Dig, Post, Flat - Left, Go/Fly, Curl", 
"Seam, Seam, Go/Fly, Go/Fly, Screen - RB", "Over Ball, Fade, Curl, Post, Run Fake", 
"Dig, Slant, Fade, Run Fake", "Curl, Comeback, Slant, Run Fake", 
"Angle, Post, Fade, Out, Drag", "Corner, Post, Chip - Curl, Flat - Right, Run Fake", 
"Out, Go/Fly, Flat - Right", "Curl, Comeback, Curl, Curl, Check & Release", 
"Dig, Post, Drag, Curl, Wheel", "Go/Fly, Curl, Dig, Out, Flat - Right", 
"Swing - Right, Fade, Drag", "Curl, Seam, Over Ball, Dig, Dig", 
"Dig, Corner, Go/Fly, Curl, Chip - Flat", "Fade, Slant, Corner, Out, Flat - Left", 
"Deep Cross, Post, Flat - Left, Post, Curl", "Dig, Corner, Out, Dig, Check & Release", 
"Fade, Screen - RB, Screen - Bubble", "Run Fake, Fade, Fade, Flat - Left, Corner", 
"Fade, Seam, Seam, Screen - RB", "Wheel, Deep Cross, Beneath, Post, Run Fake", 
"Screen - Bubble, Run Fake", "Go/Fly, Drag, Out, Flat - Right, Check & Release", 
"Curl, Slant, Flat - Left, Slant, Flat - Right", "Out, Curl, Flat - Right, Curl, Dig", 
"Run Fake, Fade, Jerk, Corner, Post", "Out, Whip, Fade, Curl, Flat - Right", 
"Curl, Curl, Over Ball, Curl, Swing - Left", "Dig, Deep Cross, Dig, Curl, Chip - Flat", 
"Fade, Flat - Right, Curl, Over Ball, Chip - Flat", "Corner, Corner, Flat - Right, Chip - Curl, Flat - Left", 
"Check & Release, Curl, Curl, Curl", "Check & Release, Corner, Corner", 
"Screen - Tunnel, Screen - Bubble", "Curl, Flat - Left, Curl, Flat - Right", 
"Fade, Seam, Fade, Seam, Screen - RB", "Out, Out, Screen - TE", 
"Slant, Dig, Post, Quick, Wheel", "Run Fake, Drag, Beneath, Corner, Curl", 
"Run Fake, Chip - Drag, Deep Cross, Dig", "Curl, Curl, Screen - Bubble", 
"Flat - Right, Go/Fly, Wheel, Deep Cross, Beneath", "Dig, Drag, Drag, Pick, Wheel", 
"Flat - Right, Corner, Seam, Chip - Curl, Dig", "Comeback, Deep Cross, Quick, Seam, Angle", 
"Go/Fly, Fade, Wheel, Chip - Curl, Swing - Right")), row.names = c(NA, 
-500L), class = c("tbl_df", "tbl", "data.frame"))

看看它:

as_tibble(most.common)
# A tibble: 18,547 x 3
   GameID EventID route.combos                                 
    <int>   <int> <chr>                                        
 1   2793      15 Fade - Back Shoulder, Curl, Go/Fly, Out, Curl
 2   2793      25 Go/Fly, Curl, Dig, Check & Release           
 3   2793      45 Fade, Swing - Left, Slant, Dig, Curl         
 4   2793      50 Jet Sweep Pass, Swing - Right                
 5   2793      55 Corner, Curl, Post, Curl, Slant              
 6   2793      60 Sluggo, Post, Curl, Chip - Flat, Flat - Left 
 7   2793      65 Go/Fly, Seam, Deep Cross, Dig, Flat - Right  
 8   2793      70 Curl, Dig, Post, Chip - Flat                 
 9   2793      85 Curl, Seam, Curl, Dig, Curl                  
10   2793      95 Screen - RB                                  
# ... with 18,537 more rows

我正在尝试做的事情:

我试图计算每个唯一route.combos值在数据中的次数,而不关心实际路线的顺序,这意味着:

Fade - Back Shoulder, Curl, Go/Fly, Out, Curl==Curl, Out, Go/Fly, Curl, Fade - Back Shoulder

如您所见,每个观察的具体顺序无关紧要,只是包括了独特的路线。

我知道计算组合的一种简单方法是:

most.common.combos <- most.common %>%
  group_by(route.combos) %>%
  summarise(count = n())

但是,这是完全匹配......它只会计算route.combos特定路线的顺序完全相同。

route.combos无论列出的具体顺序如何,我在这里缺少什么技巧来获得匹配?

标签: rdplyrtidyverse

解决方案


我们可以做到这一点tidyverse

  1. 创建一个序列列 -row_number()
  2. ,在后面的任何空格处拆分“route.combos” -separate_rows
  3. 按 'rn' 和 'route.combos' 对行重新排序 -arrange
  4. 按'rn'分组,粘贴'route.combos' -toString
  5. 获取频率count
library(dplyr)
library(tidyr)
most.common %>%
    mutate(rn = row_number()) %>% 
    separate_rows(route.combos, sep=",\\s*") %>% 
    arrange(rn, route.combos) %>%
    group_by(rn) %>% 
    summarise(route.combos = toString(route.combos)) %>%
    ungroup %>% 
    count(route.combos)

推荐阅读