The IPL is the pinnacle of the franchise T20 game. All of the world’s best players (minus the English and the Pakistanis, of course) have consistently graced this competition over the years, as have numerous talents from the Indian domestic scene. I have always been interested in the latter group of players, the cricketers we hear very little of save for the two month IPL window every year. How much do they contribute to their teams, and how do they compare to their international class peers? Similarly, many established stars have been effusive in their praise for the competition and how much they have grown as a result of playing in India. How much of this perceived growth is reflected in their cricket?

Nine seasons of IPL makes for a rather controlled cricketing environment. However, the lack of readily available raw data gets in the way of doing anything interesting. Or at least that was the case until a few days back, when I stumbled upon *http://cricsheet.org/about/*. Cricsheet is a database compiled by Stephen Rushe that stores ball by ball data from every international and every IPL match in the .csv format. I have a few gripes with it - for one, it does not record bowler type - but it is an incredible resource for fans to play around with.

I wrote a couple of small pieces of code in R and Python to make sense of all the IPL data on Cricsheet. My intention here was to examine how individual players have performed in individual seasons and across all seasons. I have put in some sample uses for the code, but the idea is for interested folks to have a look and fiddle around with it.

Download the complete collection of ball by ball IPL data here: *http://cricsheet.org/downloads/*

Then set the filepath variable below and in the Python script a few chunks below to the file path where you have stored these files.

The nice thing about these functions is that they are not locked in to this IPL data. You could very well use the same functions to perform the same analysis on the Test match ball by ball data on Cricsheet.

library(plyr)

##### Change this variable to the folder where you downloaded the ball by ball data from cricsheet
filepath = '/Users/thedajaja/Desktop/IPL data/ipl_csv/';

concat = function(..., sep='')
{
  ret = paste(..., sep=sep);
  return (ret);
}

This next section will implements functions that will help create files with accumulated data for analysis.

###################### Generate data for an entire season from individual matches ###############################

readData = function(file)
{
  # Read in data from ball by ball csv file
  raw = read.csv(file, row.names = NULL, skip = 19, header = FALSE, col.names = c("Type", "Innings", "Ball", "Batting team", "On strike", "Non striker", "Bowler", "Runs", "Extras", "Dismissal", "Batsman out"))
  # Remove the unnecessary first column
  raw = raw[,-1];
  names(raw) = c("Innings", "Ball", "Batting team", "On strike", "Non striker", "Bowler", "Runs", "Extras", "Dismissal", "Batsman out");
  return (data.frame(raw));
}

getBatsmenAndBowlerLists = function(data)
{
  # Get lists of batsmen/bowlers on each team
  team1Batsmen = unique(data$`On.strike`[data$Innings == 1]); team2Batsmen = unique(data$`On.strike`[data$Innings == 2]);
  team1Bowlers = unique(data$Bowler[data$Innings == 2]); team2Bowlers = unique(data$Bowler[data$Innings == 1]); 
  
  return(list(team1Batsmen, team1Bowlers, team2Batsmen, team2Bowlers));
}

getAnalysis = function(data, allBatsmen, allBowlers)
{
  # Get batting-bowling figures for each pairing: (BOWLER, BATSMAN, RUNS, BALLS, DOTBALLS, DISMISSALS, FOURS, SIXES, EXTRAS)
  playersList = getBatsmenAndBowlerLists(data);
  team1Batsmen = playersList[[1]];
  team1Bowlers = playersList[[2]];
  team2Batsmen = playersList[[3]];
  team2Bowlers = playersList[[4]];
  
  firstInnings = expand.grid(team1Batsmen, team2Bowlers);
  names(firstInnings) = c("Batsman", "Bowler");
  secondInnings = expand.grid(team2Batsmen, team1Bowlers);
  names(secondInnings) = c("Batsman", "Bowler");
  
  result = matrix(nrow = (length(firstInnings$Batsman) + length(secondInnings$Batsman)), ncol=9);
  resultIndex = 1;
  
  grids = list(firstInnings, secondInnings);
  
  for (grid in grids)
  {
    # Get number of batsman-bowler pairings
    numPairs = length(grid$Batsman);
    for (index in 1:numPairs)
    {
      bowler = grid$Bowler[index]; batsman = grid$Batsman[index];
      balls = sum(data$Bowler == bowler & data$`On.strike` == batsman);
      
      if (!is.na(balls))
      {
        if (balls!=0)
        {
          # Add stats to the result
          runs = sum(data$Runs[data$Bowler == bowler & data$`On.strike` == batsman]);
          dotballs = sum(data$Bowler == bowler & data$`On.strike` == batsman & data$Runs == 0 & data$Extras == 0);
          # Dismissals include run outs (for now)
          dismissals = sum(data$Dismissal[data$Bowler == bowler & data$`On.strike` == batsman] != "");
          fours = sum(data$Runs[data$Bowler == bowler & data$`On.strike` == batsman] == 4);
          sixes = sum(data$Runs[data$Bowler == bowler & data$`On.strike` == batsman] == 6);
          extras = sum(data$Extras[data$Bowler == bowler & data$`On.strike` == batsman]);
          
          result[resultIndex,] = c(bowler, batsman, runs, balls, dotballs, dismissals, fours, sixes, extras);
          resultIndex = resultIndex + 1;
        }
      }
    }
  }
  
  result = na.omit(result);
  stats = data.frame(result);
  
  names(stats) = c("Bowler", "Batsman", "Runs", "Balls", "Dotballs", "Dismissals", "Fours", "Sixes", "Extras");
  return (stats);
}

writeAnalysisToCumulativeFile = function(writeFile, analysis, allBatsmen, allBowlers)
{
  Bowlers = allBowlers[analysis$Bowler];
  Batsmen = allBatsmen[analysis$Batsman];
  analysis$Bowler = Bowlers;
  analysis$Batsman = Batsmen;
  write.table(x = analysis, file = writeFile, append = TRUE, row.names = FALSE, col.names = FALSE, quote=FALSE, sep=",");
}

These functions will read data from the files we created.

###################### RUN THIS SECTION: Coalesce data for entire season(s) ###############################

#' These functions accept an argument called 'analysis' that can really span any length in terms of number of games/seasons.
#' The result is always an amalgamation of the data across the timespan represented by 'analysis'.

readCompiledData= function(file)
{
  raw = read.csv(file, row.names = NULL, header = FALSE, col.names=c("Bowler", "Batsman", "Runs", "Balls", "Dotballs", "Dismissals", "Fours", "Sixes", "Extras"));
  return(data.frame(raw));
}

getPlayerMatchUps = function(analysis, batsman, bowler)
{
  return(analysis[analysis$Bowler == bowler & analysis$Batsman == batsman,]);
}

getBattingBreakdown = function(analysis, batsman)
{
  # Accumulate all stats on a given batsman-bowler pairing for the season
  batsmanAnalysis = analysis[analysis$Batsman == batsman,];
  bowlers = unique(batsmanAnalysis$Bowler);
  
  cumulativeResult = matrix(nrow = (length(bowlers)), ncol=9);
  resultIndex = 1;
  
  # Merge stats from different matches for the same batsman-bowler pair 
  for (bowler in bowlers)
  {
    totalBreakdown = batsmanAnalysis[batsmanAnalysis$Bowler == bowler,];
    cumulativeResult[resultIndex,] = c(bowler, batsman, (colSums(totalBreakdown[,-c(1,2)])));
    resultIndex = resultIndex + 1;
  }
  
  # Remove null values
  cumulativeResult = na.omit(cumulativeResult);
  finalAnalysis = data.frame(cumulativeResult);
  
  # Convert data to numeric type for calculations - use face value of factors
  finalAnalysis = data.frame(cumulativeResult);
  for (index in c(3:9))
  {
    finalAnalysis[,index] = as.numeric(as.character(finalAnalysis[,index]))
  }
  names(finalAnalysis) = names(batsmanAnalysis);
  
  # Store dotball percentage and strike rate data
  finalAnalysis$DotballPc = round(100 * finalAnalysis$Dotballs/finalAnalysis$Balls, 2);
  finalAnalysis$StrikeRate = round(100 * finalAnalysis$Runs/finalAnalysis$Balls, 2);
  
  return (finalAnalysis);
}


getBowlingBreakdown = function(analysis, bowler)
{
  # Accumulate all stats on a given batsman-bowler pairing for the season
  bowlerAnalysis = analysis[analysis$Bowler == bowler,]; 
  batsmen = unique(bowlerAnalysis$Batsman);
  
  cumulativeResult = matrix(nrow = (length(batsmen)), ncol=9);
  resultIndex = 1;
  
  # Merge stats from different matches for the same batsman-bowler pair 
  for (batsman in batsmen)
  {
    totalBreakdown = bowlerAnalysis[bowlerAnalysis$Batsman == batsman,];
    cumulativeResult[resultIndex,] = c(bowler, batsman, (colSums(totalBreakdown[,-c(1,2)])));
    resultIndex = resultIndex + 1;
  }
  
  # Remove null values
  cumulativeResult = na.omit(cumulativeResult);
  finalAnalysis = data.frame(cumulativeResult);
  
  # Convert data to numeric type for calculations - use face value of factors
  finalAnalysis = data.frame(cumulativeResult);
  for (index in c(3:9))
  {
    finalAnalysis[,index] = as.numeric(as.character(finalAnalysis[,index]))
  }
  names(finalAnalysis) = names(bowlerAnalysis);
  
  # Store dotball percentage and strike rate data
  finalAnalysis$DotballPc = round(100 * finalAnalysis$Dotballs/finalAnalysis$Balls, 2);
  finalAnalysis$StrikeRate = round(100 * finalAnalysis$Runs/finalAnalysis$Balls,2);   
  
  return (finalAnalysis); 
}

The code below will actually generate nine files - one for each season. Each file contains stats on all the batting and bowling pairings from the corresponding season.

# Get data from IPL ball by ball files. Store a season's worth of data in a file.
# The seasonFileIndicators array is how we parse through all the files to generate season specific files. Plays on a quirk in how they are named. 

files = list.files(path=filepath);
seasonFileIndicators = c("33", "39", "41", "50", "54", "59", "7", "8", "9");

for (season in 1:9) 
{
  startsWith = seasonFileIndicators[season];
  numPosition = nchar(startsWith);
  seasonFiles = files[substr(files, 1, numPosition) == startsWith];
  
  writeFileSuffix = concat("ipl", season, ".csv");
  writeFile = concat(filepath, writeFileSuffix);
  
  for (game in seasonFiles)
  {
    raw = readData(concat(filepath, game));
    allBatsmen = levels(raw$On.strike);
    allBowlers = levels(raw$Bowler);
    analysis = getAnalysis(raw, allBatsmen, allBowlers);
    writeAnalysisToCumulativeFile(writeFile, analysis, allBatsmen, allBowlers);
  }
}

The Python script below simply puts together all the text from these nine files into a tenth file, which contains stats on all batting and bowling pairings across all nine seasons.


import os

##### Change this variable to the folder where you downloaded the ball by ball data from cricsheet

filepath = '/Users/thedajaja/Desktop/IPL data/ipl_csv/'
writefile = filepath + 'allipl.csv'
readfiles = ['ipl1.csv', 'ipl2.csv','ipl3.csv', 'ipl4.csv', 'ipl5.csv', 'ipl6.csv', 'ipl7.csv', 'ipl8.csv', 'ipl9.csv']

with open(writefile, "w") as allseasons:
    for season in readfiles:
        readfile = filepath + season
        with open(readfile) as season:
            allseasons.writelines([line for line in season.readlines()])

This section then reads the new files we created above.

# Read the IPL files
ipl1 = readCompiledData(file = concat(filepath, "ipl1.csv"));
ipl2 = readCompiledData(file = concat(filepath, "ipl2.csv"));
ipl3 = readCompiledData(file = concat(filepath, "ipl3.csv"));
ipl4 = readCompiledData(file = concat(filepath, "ipl4.csv"));
ipl5 = readCompiledData(file = concat(filepath, "ipl5.csv"));
ipl6 = readCompiledData(file = concat(filepath, "ipl6.csv"));
ipl7 = readCompiledData(file = concat(filepath, "ipl7.csv"));
ipl8 = readCompiledData(file = concat(filepath, "ipl8.csv"));
ipl9 = readCompiledData(file = concat(filepath, "ipl9.csv"));
allipl = readCompiledData(file = concat(filepath, "allipl.csv"));

And now comes the fun bit!

*** If no output shows up here, just copy these chunks of code and run them in your own R environment. ***

First up - Subramaniam Badrinath

As the example illustrates, use the function getBattingBreakdown(analysis, playername) to get a batting breakdown for a player. The analysis argument can be any of the ten compilations we made earlier. To get an analysis across all seasons, use ‘allipl’ as the argument. To get an analysis solely from season 4, use ‘ipl4’ as the argument.

Similarly, use the function getBowlingBreakdown(analysis, playername) to get a bowling breakdown for a player.

These functions return a dataframe with the following statistical attributes: “Bowler”, “Batsman”, “Runs”, “Balls”, “Dotballs”, “Dismissals”, “Fours”, “Sixes”, “Extras”, “Dotballpc” (Dot ball percentage), and “StrikeRate” (Runs per 100 balls scored by the batsman)

To get stats on a matchup between a partciular batsman and a particular bowler, use the function getPlayerMatchUps(analysis, batsman, bowler).

Player names correspond to player names on scorecards in the ESPNCricinfo database. So Suresh Raina is SK Raina, Lasith Malinga is SL Malinga, you get the idea.

##### Subramaniam Badrinath
badri = getBattingBreakdown(allipl, "S Badrinath")
# Bowlers he faced more than 5 balls from and ate up dot balls = all top names there! Left arm seam and leg spin?
badri[badri$Balls > 5 & badri$DotballPc > 40,]
##              Bowler     Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 6        PJ Sangwan S Badrinath   24    14        7          0     4     1
## 9         SR Watson S Badrinath   12     7        3          1     3     0
## 10         MM Patel S Badrinath   29    25       13          1     3     1
## 17        PP Chawla S Badrinath   31    29       13          1     4     0
## 19          A Nehra S Badrinath   19    22        9          1     2     0
## 21      DS Kulkarni S Badrinath   32    25       12          1     5     1
## 23         A Kumble S Badrinath    7    10        6          2     1     0
## 29         RP Singh S Badrinath   17    19        8          3     2     0
## 35         SK Warne S Badrinath   14    25       14          1     1     0
## 37         A Mishra S Badrinath   18    22        9          1     1     0
## 47       WPUJC Vaas S Badrinath    4     7        6          0     1     0
## 60           Z Khan S Badrinath   13    22       13          0     1     0
## 70        RJ Harris S Badrinath   10    15        7          0     1     0
## 72          P Kumar S Badrinath    7    14        8          0     1     0
## 91         S Nadeem S Badrinath   18    16        8          0     3     0
## 92        S Aravind S Badrinath    7    12        8          0     1     0
## 97     DT Christian S Badrinath    9    13        6          1     1     0
## 100        M Morkel S Badrinath    6    13        9          0     1     0
## 104      AL Menaria S Badrinath    2     6        4          0     0     0
## 110        DR Smith S Badrinath    6     6        4          0     1     0
## 111 J Syed Mohammad S Badrinath    3     8        4          1     0     0
##     Extras DotballPc StrikeRate
## 6        0     50.00     171.43
## 9        1     42.86     171.43
## 10       0     52.00     116.00
## 17       0     44.83     106.90
## 19       1     40.91      86.36
## 21       2     48.00     128.00
## 23       0     60.00      70.00
## 29       0     42.11      89.47
## 35       3     56.00      56.00
## 37       0     40.91      81.82
## 47       0     85.71      57.14
## 60       1     59.09      59.09
## 70       1     46.67      66.67
## 72       3     57.14      50.00
## 91       0     50.00     112.50
## 92       1     66.67      58.33
## 97       1     46.15      69.23
## 100      2     69.23      46.15
## 104      0     66.67      33.33
## 110      0     66.67     100.00
## 111      1     50.00      37.50
# Total number of bowlers he faced more than 5 balls from = 71
length(badri[badri$Balls > 5,]$Bowler)
## [1] 71

Next - Suresh Raina the bowler.

##### Suresh Raina the bowler
raina = getBowlingBreakdown(allipl, "SK Raina") # lefties....
raina[raina$Balls > 5 & raina$DotballPc > 40,]
##      Bowler    Batsman Runs Balls Dotballs Dismissals Fours Sixes Extras
## 11 SK Raina  DA Warner   33    29       12          1     3     1      0
## 22 SK Raina   AM Nayar   10    10        5          1     0     1      0
## 28 SK Raina    WA Mota    3     6        4          0     0     0      0
## 33 SK Raina   R Dravid    3     6        3          0     0     0      0
## 38 SK Raina   M Manhas    9    17        8          0     0     0      0
## 42 SK Raina  SS Tiwary   33    29       12          0     2     2      3
## 46 SK Raina   AN Ahmed    3     7        3          0     0     0      2
## 53 SK Raina EJG Morgan    3     9        6          1     0     0      0
## 78 SK Raina  STR Binny    3     7        4          0     0     0      0
##    DotballPc StrikeRate
## 11     41.38     113.79
## 22     50.00     100.00
## 28     66.67      50.00
## 33     50.00      50.00
## 38     47.06      52.94
## 42     41.38     113.79
## 46     42.86      42.86
## 53     66.67      33.33
## 78     57.14      42.86
raina[raina$Balls > 5 & raina$StrikeRate < 120,]
##      Bowler          Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1  SK Raina         GC Smith   18    16        4          2     0     1
## 5  SK Raina         HH Gibbs   12    12        4          0     1     0
## 9  SK Raina        RA Jadeja   13    14        4          0     1     0
## 10 SK Raina        YK Pathan   10    10        3          0     1     0
## 11 SK Raina        DA Warner   33    29       12          1     3     1
## 16 SK Raina     Yuvraj Singh   55    57       20          2     6     0
## 17 SK Raina DPMD Jayawardene    5     6        1          0     0     0
## 20 SK Raina        JP Duminy   14    15        2          0     1     0
## 21 SK Raina     SR Tendulkar   12    14        4          1     1     0
## 22 SK Raina         AM Nayar   10    10        5          1     0     1
## 24 SK Raina         BJ Hodge   27    25        8          0     3     0
## 27 SK Raina    KC Sangakkara   12    13        4          1     1     0
## 28 SK Raina          WA Mota    3     6        4          0     0     0
## 29 SK Raina        IK Pathan    6    11        3          0     0     0
## 32 SK Raina        MK Pandey    7     7        1          0     0     0
## 33 SK Raina         R Dravid    3     6        3          0     0     0
## 38 SK Raina         M Manhas    9    17        8          0     0     0
## 41 SK Raina         FY Fazal    7     7        0          0     0     0
## 42 SK Raina        SS Tiwary   33    29       12          0     2     2
## 46 SK Raina         AN Ahmed    3     7        3          0     0     0
## 47 SK Raina        A Symonds    5    10        3          0     0     0
## 49 SK Raina       AD Mathews    4     6        2          0     0     0
## 51 SK Raina        G Gambhir   22    23        8          1     2     0
## 53 SK Raina       EJG Morgan    3     9        6          1     0     0
## 57 SK Raina       RV Uthappa   10     9        3          0     1     0
## 62 SK Raina  Y Venugopal Rao    7     6        1          0     1     0
## 66 SK Raina         S Dhawan   21    26       10          2     1     1
## 67 SK Raina         PA Patel    7     7        0          0     0     0
## 69 SK Raina         JD Ryder    8    11        3          0     0     0
## 71 SK Raina       MN Samuels    5     6        1          0     0     0
## 78 SK Raina        STR Binny    3     7        4          0     0     0
## 80 SK Raina         SA Yadav    9    10        4          0     0     0
## 91 SK Raina        Q de Kock    9    13        5          0     0     0
##    Extras DotballPc StrikeRate
## 1       0     25.00     112.50
## 5       0     33.33     100.00
## 9       0     28.57      92.86
## 10      1     30.00     100.00
## 11      0     41.38     113.79
## 16      3     35.09      96.49
## 17      0     16.67      83.33
## 20      2     13.33      93.33
## 21      2     28.57      85.71
## 22      0     50.00     100.00
## 24      2     32.00     108.00
## 27      1     30.77      92.31
## 28      0     66.67      50.00
## 29      3     27.27      54.55
## 32      0     14.29     100.00
## 33      0     50.00      50.00
## 38      0     47.06      52.94
## 41      0      0.00     100.00
## 42      3     41.38     113.79
## 46      2     42.86      42.86
## 47      2     30.00      50.00
## 49      0     33.33      66.67
## 51      0     34.78      95.65
## 53      0     66.67      33.33
## 57      0     33.33     111.11
## 62      1     16.67     116.67
## 66      3     38.46      80.77
## 67      0      0.00     100.00
## 69      0     27.27      72.73
## 71      0     16.67      83.33
## 78      0     57.14      42.86
## 80      0     40.00      90.00
## 91      0     38.46      69.23
raina[raina$Balls > 5 & raina$StrikeRate > 160,]
##      Bowler     Batsman Runs Balls Dotballs Dismissals Fours Sixes Extras
## 12 SK Raina  KD Karthik   31    16        3          0     6     0      1
## 13 SK Raina    TL Suman   31    16        3          0     3     1      0
## 43 SK Raina   AT Rayudu   14     7        2          1     1     1      0
## 52 SK Raina    SE Marsh   44    21        4          0     4     3      0
## 79 SK Raina CJ Anderson   29    15        3          0     2     2      0
## 90 SK Raina     RR Pant   35    17        1          0     4     1      1
##    DotballPc StrikeRate
## 12     18.75     193.75
## 13     18.75     193.75
## 43     28.57     200.00
## 52     19.05     209.52
## 79     20.00     193.33
## 90      5.88     205.88
raina[raina$Balls > 10,]
##      Bowler       Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1  SK Raina      GC Smith   18    16        4          2     0     1
## 5  SK Raina      HH Gibbs   12    12        4          0     1     0
## 7  SK Raina     RG Sharma   40    28        7          1     1     3
## 9  SK Raina     RA Jadeja   13    14        4          0     1     0
## 11 SK Raina     DA Warner   33    29       12          1     3     1
## 12 SK Raina    KD Karthik   31    16        3          0     6     0
## 13 SK Raina      TL Suman   31    16        3          0     3     1
## 16 SK Raina  Yuvraj Singh   55    57       20          2     6     0
## 20 SK Raina     JP Duminy   14    15        2          0     1     0
## 21 SK Raina  SR Tendulkar   12    14        4          1     1     0
## 23 SK Raina   BB McCullum   29    19        4          0     2     1
## 24 SK Raina      BJ Hodge   27    25        8          0     3     0
## 27 SK Raina KC Sangakkara   12    13        4          1     1     0
## 29 SK Raina     IK Pathan    6    11        3          0     0     0
## 34 SK Raina       V Kohli   54    45       14          1     3     2
## 38 SK Raina      M Manhas    9    17        8          0     0     0
## 40 SK Raina       NV Ojha   18    15        4          1     1     1
## 42 SK Raina     SS Tiwary   33    29       12          0     2     2
## 51 SK Raina     G Gambhir   22    23        8          1     2     0
## 52 SK Raina      SE Marsh   44    21        4          0     4     3
## 63 SK Raina      CH Gayle   67    43       12          1     3     7
## 66 SK Raina      S Dhawan   21    26       10          2     1     1
## 69 SK Raina      JD Ryder    8    11        3          0     0     0
## 79 SK Raina   CJ Anderson   29    15        3          0     2     2
## 90 SK Raina       RR Pant   35    17        1          0     4     1
## 91 SK Raina     Q de Kock    9    13        5          0     0     0
##    Extras DotballPc StrikeRate
## 1       0     25.00     112.50
## 5       0     33.33     100.00
## 7       0     25.00     142.86
## 9       0     28.57      92.86
## 11      0     41.38     113.79
## 12      1     18.75     193.75
## 13      0     18.75     193.75
## 16      3     35.09      96.49
## 20      2     13.33      93.33
## 21      2     28.57      85.71
## 23      0     21.05     152.63
## 24      2     32.00     108.00
## 27      1     30.77      92.31
## 29      3     27.27      54.55
## 34      1     31.11     120.00
## 38      0     47.06      52.94
## 40      1     26.67     120.00
## 42      3     41.38     113.79
## 51      0     34.78      95.65
## 52      0     19.05     209.52
## 63      8     27.91     155.81
## 66      3     38.46      80.77
## 69      0     27.27      72.73
## 79      0     20.00     193.33
## 90      1      5.88     205.88
## 91      0     38.46      69.23

Shane Watson the all rounder.

#### Shane Watson
watsonbat = getBattingBreakdown(allipl, "SR Watson") # Has Malinga's number!
watsonbowl = getBowlingBreakdown(allipl, "SR Watson") # Good, but fodder for big hitters. 
watsonbowl[watsonbowl$StrikeRate > 150 & watsonbowl$Balls > 5,] # Just about every big hitter hammers him
##        Bowler         Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 27  SR Watson     S Badrinath   12     7        3          1     3     0
## 32  SR Watson     YV Takawale   29    10        1          0     5     1
## 35  SR Watson        DJ Bravo   28    17        5          2     4     1
## 66  SR Watson      KA Pollard   75    43       13          1    10     4
## 70  SR Watson     BB McCullum   22    14        5          1     3     1
## 80  SR Watson Harbhajan Singh   17     8        2          0     2     1
## 101 SR Watson        PA Reddy   12     7        2          0     2     0
## 105 SR Watson       DJG Sammy   33    16        3          1     2     3
## 110 SR Watson       YK Pathan   39    23        6          1     6     1
## 114 SR Watson       DA Warner   34    20        6          2     4     1
## 115 SR Watson       BJ Rohrer   12     6        1          0     2     0
## 117 SR Watson       DA Miller   16    10        2          1     0     1
## 119 SR Watson         AP Tare   19     9        2          0     2     1
## 129 SR Watson      AD Russell   31    17        3          1     2     2
## 134 SR Watson     CJ Anderson   16     6        1          0     2     1
## 135 SR Watson         SN Khan   11     6        0          1     2     0
## 137 SR Watson     LMP Simmons   12     7        2          0     1     1
## 140 SR Watson      EJG Morgan   29    13        3          1     2     2
## 151 SR Watson        R Bhatia   11     7        0          0     1     0
## 153 SR Watson   KS Williamson   11     7        2          1     2     0
## 165 SR Watson     BCJ Cutting   33    13        4          1     2     4
##     Extras DotballPc StrikeRate
## 27       1     42.86     171.43
## 32       1     10.00     290.00
## 35       3     29.41     164.71
## 66       7     30.23     174.42
## 70       1     35.71     157.14
## 80       0     25.00     212.50
## 101      0     28.57     171.43
## 105      3     18.75     206.25
## 110      2     26.09     169.57
## 114      0     30.00     170.00
## 115      0     16.67     200.00
## 117      1     20.00     160.00
## 119      0     22.22     211.11
## 129      0     17.65     182.35
## 134      0     16.67     266.67
## 135      2      0.00     183.33
## 137      1     28.57     171.43
## 140      0     23.08     223.08
## 151      0      0.00     157.14
## 153      0     28.57     157.14
## 165      2     30.77     253.85
watsonbowl [watsonbowl$StrikeRate < 110,] # Indians find him hard to score off?
##        Bowler          Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1   SR Watson        G Gambhir   60    68       30          3     7     0
## 3   SR Watson         S Dhawan   44    45       20          2     5     1
## 4   SR Watson           K Goel    5     5        3          0     1     0
## 5   SR Watson         JR Hopes   10    11        7          0     2     0
## 7   SR Watson        IK Pathan    8     8        4          0     1     0
## 9   SR Watson          WA Mota    1     1        0          0     0     0
## 11  SR Watson       VVS Laxman   10    15        8          0     2     0
## 12  SR Watson        A Symonds   12    16        7          0     2     0
## 14  SR Watson    S Chanderpaul    1     7        6          1     0     0
## 15  SR Watson         R Dravid    1     5        4          1     0     0
## 18  SR Watson          P Kumar    6     9        3          1     1     0
## 19  SR Watson           Z Khan    3     5        2          0     0     0
## 20  SR Watson    R Vinay Kumar    1     1        0          0     0     0
## 21  SR Watson      Salman Butt   13    15        8          0     2     0
## 22  SR Watson       SC Ganguly   25    24       10          0     4     0
## 24  SR Watson         BJ Hodge    0     1        1          0     0     0
## 25  SR Watson         AB Dinda    0     1        1          1     0     0
## 29  SR Watson        JA Morkel   19    21       10          1     1     1
## 30  SR Watson          MS Gony    0     1        1          0     0     0
## 31  SR Watson          M Ntini    0     7        6          0     0     0
## 33  SR Watson    ST Jayasuriya    4    10        6          2     0     0
## 36  SR Watson         AM Nayar    6    10        4          1     0     0
## 38  SR Watson        SB Bangar    0     2        2          1     0     0
## 40  SR Watson  Y Venugopal Rao    1     2        1          0     0     0
## 41  SR Watson       TM Dilshan   14    14        8          1     3     0
## 43  SR Watson        VY Mahesh    0     1        0          0     0     0
## 45  SR Watson    LA Pomersbach    1     1        0          0     0     0
## 48  SR Watson        LR Shukla    2     2        0          0     0     0
## 50  SR Watson         Umar Gul    1     1        0          0     0     0
## 51  SR Watson     SR Tendulkar   29    29       12          0     5     0
## 52  SR Watson          RR Raje    1     1        0          0     0     0
## 53  SR Watson         PA Patel    9    10        4          0     1     0
## 55  SR Watson    CK Kapugedera    5     9        3          0     0     0
## 59  SR Watson         DR Smith   29    31       15          0     3     1
## 60  SR Watson      AA Bilakhia    1     1        0          0     0     0
## 62  SR Watson DPMD Jayawardene    8    16       10          1     1     0
## 63  SR Watson        AT Rayudu   40    38       18          4     6     0
## 64  SR Watson        SS Tiwary   13    17        9          1     2     0
## 67  SR Watson        R Sathish    1     2        1          0     0     0
## 71  SR Watson        CA Pujara    4     6        5          0     1     0
## 72  SR Watson        MK Tiwary    4     5        4          0     1     0
## 73  SR Watson      PC Valthaty    2     3        1          0     0     0
## 74  SR Watson        R McLaren    2     2        0          0     0     0
## 76  SR Watson        RA Jadeja   17    27       11          3     1     0
## 78  SR Watson   M Muralitharan    4     5        1          0     0     0
## 81  SR Watson       AG Murtaza    1     1        0          0     0     0
## 82  SR Watson   Harpreet Singh    6    10        5          1     0     0
## 84  SR Watson      NL McCullum    3     4        1          0     0     0
## 86  SR Watson         CH Gayle   19    25       14          2     3     0
## 87  SR Watson          V Kohli   19    26       12          1     0     1
## 89  SR Watson          Y Nagar    1     3        2          0     0     0
## 90  SR Watson    Mandeep Singh    6    11        4          1     0     0
## 91  SR Watson          N Saini    0     4        4          0     0     0
## 92  SR Watson        RJ Harris    1     3        2          0     0     0
## 94  SR Watson        SPD Smith    3     5        0          0     0     0
## 95  SR Watson       AD Mathews   13    14        6          1     1     0
## 98  SR Watson      CJ Ferguson    1     2        1          0     0     0
## 99  SR Watson         M Kartik    2     2        0          0     0     0
## 100 SR Watson         R Sharma    0     3        2          1     0     0
## 102 SR Watson   AB de Villiers   50    46       16          1     6     0
## 104 SR Watson        GH Vihari    4    10        6          0     0     0
## 108 SR Watson     MC Henriques   15    15        5          2     0     1
## 109 SR Watson        R Rampaul    3     4        2          1     0     0
## 111 SR Watson         AJ Finch    5     6        3          0     1     0
## 112 SR Watson         MR Marsh    7     9        5          0     1     0
## 113 SR Watson        CM Gautam    0     1        1          1     0     0
## 116 SR Watson        DJ Hussey    0     2        2          1     0     0
## 118 SR Watson       GJ Maxwell    0     2        2          1     0     0
## 120 SR Watson       KD Karthik   24    25        8          0     3     0
## 121 SR Watson     BB Samantray    9    11        4          0     1     0
## 122 SR Watson      NLTC Perera    9     9        4          2     0     1
## 124 SR Watson         R Ashwin    3     5        2          1     0     0
## 125 SR Watson           S Rana    0     3        2          1     0     0
## 127 SR Watson  Shakib Al Hasan   14    13        1          0     0     1
## 130 SR Watson        KV Sharma    7     7        3          1     1     0
## 131 SR Watson         DW Steyn    1     2        1          0     0     0
## 136 SR Watson          D Wiese    2     2        0          0     0     0
## 138 SR Watson        UBT Chand    4     5        2          0     0     0
## 139 SR Watson          SS Iyer    0     1        1          1     0     0
## 142 SR Watson          NV Ojha    2     4        2          0     0     0
## 143 SR Watson           P Negi    1     1        0          0     0     0
## 144 SR Watson    Azhar Mahmood    4     5        3          0     1     0
## 145 SR Watson         UT Yadav    4     5        3          0     1     0
## 146 SR Watson   A Ashish Reddy    3     5        2          1     0     0
## 147 SR Watson        SV Samson    6    10        5          1     0     0
## 148 SR Watson          KK Nair   11    12        6          0     0     1
## 152 SR Watson     Ankit Sharma    0     1        1          0     0     0
## 154 SR Watson         DJ Hooda    1     2        0          1     0     0
## 156 SR Watson        GJ Bailey    0     2        1          1     0     0
## 157 SR Watson          HM Amla    2     3        2          1     0     0
## 159 SR Watson      F Behardien    2     3        1          0     0     0
## 160 SR Watson  Gurkeerat Singh    3     6        3          0     0     0
## 161 SR Watson         AR Patel    2     7        3          1     0     0
## 162 SR Watson          J Yadav    2     4        2          0     0     0
## 166 SR Watson          B Kumar    1     1        0          0     0     0
##     Extras DotballPc StrikeRate
## 1        4     44.12      88.24
## 3        1     44.44      97.78
## 4        0     60.00     100.00
## 5        0     63.64      90.91
## 7        0     50.00     100.00
## 9        0      0.00     100.00
## 11       3     53.33      66.67
## 12       3     43.75      75.00
## 14       0     85.71      14.29
## 15       0     80.00      20.00
## 18       3     33.33      66.67
## 19       1     40.00      60.00
## 20       0      0.00     100.00
## 21       1     53.33      86.67
## 22       2     41.67     104.17
## 24       0    100.00       0.00
## 25       0    100.00       0.00
## 29       3     47.62      90.48
## 30       0    100.00       0.00
## 31       1     85.71       0.00
## 33       1     60.00      40.00
## 36       0     40.00      60.00
## 38       0    100.00       0.00
## 40       0     50.00      50.00
## 41       1     57.14     100.00
## 43       1      0.00       0.00
## 45       0      0.00     100.00
## 48       0      0.00     100.00
## 50       0      0.00     100.00
## 51       3     41.38     100.00
## 52       0      0.00     100.00
## 53       1     40.00      90.00
## 55       2     33.33      55.56
## 59       1     48.39      93.55
## 60       0      0.00     100.00
## 62       1     62.50      50.00
## 63       1     47.37     105.26
## 64       2     52.94      76.47
## 67       0     50.00      50.00
## 71       0     83.33      66.67
## 72       0     80.00      80.00
## 73       0     33.33      66.67
## 74       0      0.00     100.00
## 76       5     40.74      62.96
## 78       1     20.00      80.00
## 81       0      0.00     100.00
## 82       0     50.00      60.00
## 84       1     25.00      75.00
## 86       1     56.00      76.00
## 87       2     46.15      73.08
## 89       0     66.67      33.33
## 90       1     36.36      54.55
## 91       0    100.00       0.00
## 92       0     66.67      33.33
## 94       2      0.00      60.00
## 95       1     42.86      92.86
## 98       0     50.00      50.00
## 99       0      0.00     100.00
## 100      1     66.67       0.00
## 102      5     34.78     108.70
## 104      0     60.00      40.00
## 108      1     33.33     100.00
## 109      0     50.00      75.00
## 111      1     50.00      83.33
## 112      0     55.56      77.78
## 113      0    100.00       0.00
## 116      0    100.00       0.00
## 118      0    100.00       0.00
## 120      3     32.00      96.00
## 121      1     36.36      81.82
## 122      2     44.44     100.00
## 124      0     40.00      60.00
## 125      1     66.67       0.00
## 127      4      7.69     107.69
## 130      1     42.86     100.00
## 131      0     50.00      50.00
## 136      0      0.00     100.00
## 138      0     40.00      80.00
## 139      0    100.00       0.00
## 142      0     50.00      50.00
## 143      0      0.00     100.00
## 144      1     60.00      80.00
## 145      1     60.00      80.00
## 146      0     40.00      60.00
## 147      0     50.00      60.00
## 148      2     50.00      91.67
## 152      0    100.00       0.00
## 154      1      0.00      50.00
## 156      1     50.00       0.00
## 157      0     66.67      66.67
## 159      0     33.33      66.67
## 160      0     50.00      50.00
## 161      2     42.86      28.57
## 162      0     50.00      50.00
## 166      0      0.00     100.00

And now, Suresh Raina the batsman.

#### Suresh Raina the batsman
rainabat = getBattingBreakdown(allipl, "SK Raina") # Excellent against ball turning into him and medium pace! Offspin not so much
rainabat[rainabat$StrikeRate < 100 & rainabat$Balls > 5,]
##               Bowler  Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 7            A Nehra SK Raina   14    24       15          1     0     1
## 25          RP Singh SK Raina   26    27       10          1     2     1
## 26         SB Styris SK Raina    8    10        2          0     0     0
## 33          A Kumble SK Raina   13    21        5          0     0     0
## 41      KP Pietersen SK Raina   11    17        7          2     0     0
## 50         RG Sharma SK Raina    3     7        3          1     0     0
## 56         RJ Harris SK Raina    2     7        5          1     0     0
## 61        SM Harwood SK Raina    1     6        4          0     0     0
## 63        AB Agarkar SK Raina   10    16        7          0     1     0
## 68  RE van der Merwe SK Raina    6     9        4          1     0     0
## 73          UT Yadav SK Raina   66    68       37          1    11     1
## 77         R McLaren SK Raina    5     7        1          0     0     0
## 95          R Sharma SK Raina   16    18        4          1     0     0
## 98      DT Christian SK Raina   13    14        7          1     2     0
## 100          J Botha SK Raina   19    21        8          0     0     0
## 106   M Muralitharan SK Raina   17    18        8          1     2     0
## 115          GB Hogg SK Raina    8    16        8          1     0     0
## 120  AA Jhunjhunwala SK Raina    5     6        2          0     0     0
## 122       AD Russell SK Raina   11    12        6          2     2     0
## 142       GJ Maxwell SK Raina    4     9        4          1     0     0
## 145      JDS Neesham SK Raina   11    13        5          1     1     0
## 147         PV Tambe SK Raina    4    10        7          0     0     0
## 154       PJ Cummins SK Raina    3    10        6          0     0     0
## 157  NM Coulter-Nile SK Raina    4     7        5          1     0     0
## 160        CH Morris SK Raina   12    18       10          3     1     0
## 162         HV Patel SK Raina   21    29       15          1     3     0
## 166     MC Henriques SK Raina   11    13        3          1     0     0
## 177         R Ashwin SK Raina   12    17        6          0     0     0
## 178         M Ashwin SK Raina   10    12        4          1     0     0
##     Extras DotballPc StrikeRate
## 7        1     62.50      58.33
## 25       2     37.04      96.30
## 26       0     20.00      80.00
## 33       4     23.81      61.90
## 41       0     41.18      64.71
## 50       1     42.86      42.86
## 56       0     71.43      28.57
## 61       1     66.67      16.67
## 63       2     43.75      62.50
## 68       0     44.44      66.67
## 73       6     54.41      97.06
## 77       1     14.29      71.43
## 95       0     22.22      88.89
## 98       0     50.00      92.86
## 100      1     38.10      90.48
## 106      0     44.44      94.44
## 115      0     50.00      50.00
## 120      0     33.33      83.33
## 122      1     50.00      91.67
## 142      2     44.44      44.44
## 145      1     38.46      84.62
## 147      0     70.00      40.00
## 154      1     60.00      30.00
## 157      0     71.43      57.14
## 160      1     55.56      66.67
## 162      4     51.72      72.41
## 166      0     23.08      84.62
## 177      2     35.29      70.59
## 178      0     33.33      83.33
rainabat[rainabat$StrikeRate > 140 & rainabat$Balls > 5,] # Piyush Chawla...they probably keep trying him for the googly
##                Bowler  Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1            JR Hopes SK Raina   16     7        1          0     0     2
## 2           IK Pathan SK Raina   65    43       19          1     7     4
## 3              K Goel SK Raina   11     7        1          0     0     1
## 4           PP Chawla SK Raina  142    80       24          4    12     9
## 10           DJ Bravo SK Raina   55    33       11          4     3     5
## 12           AM Nayar SK Raina   21    14        3          0     1     1
## 14            P Kumar SK Raina   85    47       11          3     6     5
## 16            B Akhil SK Raina   15    10        3          0     1     1
## 19      Sohail Tanvir SK Raina   24    14        6          0     3     1
## 20           MM Patel SK Raina   63    37        9          2     7     2
## 21         SK Trivedi SK Raina   92    56        6          1    10     1
## 24      DP Vijaykumar SK Raina   21    11        3          0     3     1
## 29            PP Ojha SK Raina   68    45        6          2     1     4
## 31          VRV Singh SK Raina   28    18        5          0     1     3
## 34      R Vinay Kumar SK Raina   98    62       21          1     9     6
## 38          SR Watson SK Raina   53    37       11          2     7     1
## 40             Z Khan SK Raina   61    37       11          2     7     3
## 45         DL Vettori SK Raina   29    18        5          0     4     1
## 48           DR Smith SK Raina   45    16        2          0     5     3
## 51     AD Mascarenhas SK Raina   12     7        4          0     1     1
## 52        Kamran Khan SK Raina   20     8        0          0     1     2
## 58           TL Suman SK Raina   21     7        0          0     1     2
## 59         YA Abdulla SK Raina   11     6        1          0     2     0
## 60            A Singh SK Raina   27    15        5          2     3     1
## 62           AB Dinda SK Raina   56    36        9          1     8     1
## 66         BAW Mendis SK Raina   21     8        0          0     1     2
## 70           I Sharma SK Raina   63    36        6          1     7     2
## 71         AD Mathews SK Raina   32    18        4          0     4     1
## 75           J Theron SK Raina   10     6        2          2     0     1
## 84      Iqbal Abdulla SK Raina   55    30        7          0     4     4
## 86         KA Pollard SK Raina   73    48        6          1     6     3
## 90            R Ninan SK Raina   20    10        2          1     2     1
## 91        NLTC Perera SK Raina   42    28        6          2     4     1
## 92           RV Gomez SK Raina   16     7        2          0     2     1
## 94          JE Taylor SK Raina   14     7        4          0     0     2
## 108          A Mithun SK Raina   17    12        5          0     0     2
## 112           MS Gony SK Raina   20     8        1          0     1     2
## 114         KK Cooper SK Raina   19    13        5          2     2     1
## 116           P Awana SK Raina   51    24        5          1     7     2
## 117     Azhar Mahmood SK Raina   22    14        6          1     1     2
## 118         SP Narine SK Raina   65    43       13          1     3     4
## 119    V Pratap Singh SK Raina   17     7        2          0     1     2
## 121          M Morkel SK Raina   32    21        5          0     2     2
## 123            P Negi SK Raina   16    10        3          1     1     1
## 129          S Nadeem SK Raina   16    10        2          0     0     1
## 135         DJG Sammy SK Raina   20    11        1          0     3     0
## 137     KW Richardson SK Raina   24    16        2          0     2     1
## 139         R Sathish SK Raina   16     6        0          0     3     0
## 140          AR Patel SK Raina   32    21        2          0     4     0
## 148        WD Parnell SK Raina   17     6        0          0     2     1
## 149    Sandeep Sharma SK Raina   55    27        9          0     4     4
## 153            S Rana SK Raina   13     9        3          0     2     0
## 172   Gurkeerat Singh SK Raina   17    11        3          0     2     0
## 173    MJ McClenaghan SK Raina   34    18        7          1     6     1
## 174         HH Pandya SK Raina   20    11        2          0     2     1
## 175         MM Sharma SK Raina   13     8        3          1     1     1
## 180         KH Pandya SK Raina   16     8        1          0     3     0
## 181           BB Sran SK Raina   19    13        2          0     2     0
## 182 Mustafizur Rahman SK Raina    9     6        0          0     1     0
## 186        AS Rajpoot SK Raina   17    12        2          0     3     0
## 187         JO Holder SK Raina   10     6        2          0     2     0
##     Extras DotballPc StrikeRate
## 1        0     14.29     228.57
## 2        2     44.19     151.16
## 3        0     14.29     157.14
## 4        1     30.00     177.50
## 10       2     33.33     166.67
## 12       0     21.43     150.00
## 14       1     23.40     180.85
## 16       0     30.00     150.00
## 19       0     42.86     171.43
## 20       0     24.32     170.27
## 21       4     10.71     164.29
## 24       1     27.27     190.91
## 29       2     13.33     151.11
## 31       4     27.78     155.56
## 34       4     33.87     158.06
## 38       1     29.73     143.24
## 40       3     29.73     164.86
## 45       1     27.78     161.11
## 48       0     12.50     281.25
## 51       0     57.14     171.43
## 52       2      0.00     250.00
## 58       0      0.00     300.00
## 59       0     16.67     183.33
## 60       0     33.33     180.00
## 62       3     25.00     155.56
## 66       0      0.00     262.50
## 70       3     16.67     175.00
## 71       0     22.22     177.78
## 75       0     33.33     166.67
## 84       1     23.33     183.33
## 86       7     12.50     152.08
## 90       0     20.00     200.00
## 91       3     21.43     150.00
## 92       0     28.57     228.57
## 94       0     57.14     200.00
## 108      2     41.67     141.67
## 112      0     12.50     250.00
## 114      0     38.46     146.15
## 116      3     20.83     212.50
## 117      0     42.86     157.14
## 118      0     30.23     151.16
## 119      1     28.57     242.86
## 121      1     23.81     152.38
## 123      0     30.00     160.00
## 129      0     20.00     160.00
## 135      2      9.09     181.82
## 137      2     12.50     150.00
## 139      0      0.00     266.67
## 140      0      9.52     152.38
## 148      0      0.00     283.33
## 149      0     33.33     203.70
## 153      0     33.33     144.44
## 172      0     27.27     154.55
## 173      0     38.89     188.89
## 174      1     18.18     181.82
## 175      0     37.50     162.50
## 180      0     12.50     200.00
## 181      0     15.38     146.15
## 182      0      0.00     150.00
## 186      7     16.67     141.67
## 187      0     33.33     166.67
# Season 1
raina1 = getBattingBreakdown(ipl1, "SK Raina")

One player who really has used the IPL platform to bloom is David Warner. It is tracking his progress through the seasons.

#### David Warner
warner = getBattingBreakdown(allipl, "DA Warner")
# Track his growth across seasons
# Season 2
warner2 = getBattingBreakdown(ipl2, "DA Warner") # Signs of tough times against every spinner on the list
# Season 4
warner4 = getBattingBreakdown(ipl4, "DA Warner") # Good vs leg spin, not so against off spin?
# Season 6
warner6 = getBattingBreakdown(ipl6, "DA Warner") # Didn't play too much it looks like - about the same
# Season 8
warner8 = getBattingBreakdown(ipl8, "DA Warner") # Off spin vs ball coming in to him, noticeable difference
# Who did he find difficult to score off in season 8?
warner8[warner8$StrikeRate < 120,]
##             Bowler   Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 4         R Ashwin DA Warner    9    12        3          0     0     0
## 5         DJ Bravo DA Warner   12    12        3          0     0     0
## 9         AN Ahmed DA Warner    8     7        4          0     0     1
## 10       DJG Sammy DA Warner    2     2        0          0     0     0
## 13       CH Morris DA Warner   19    17       10          0     4     0
## 15     DS Kulkarni DA Warner    2     5        3          0     0     0
## 16 NM Coulter-Nile DA Warner   13    13        7          1     0     1
## 17       JP Duminy DA Warner    2     6        2          1     0     0
## 27  Sandeep Sharma DA Warner   26    24       15          0     5     0
## 30         M Vijay DA Warner    6     8        3          0     0     0
## 33        SK Raina DA Warner    1     3        2          1     0     0
## 36          Z Khan DA Warner    4     6        3          0     0     0
## 39      GJ Maxwell DA Warner    3     7        3          0     0     0
## 42        AB Dinda DA Warner    7     7        1          0     0     0
## 43  MJ McClenaghan DA Warner    0     1        1          1     0     0
##    Extras DotballPc StrikeRate
## 4       1     25.00      75.00
## 5       1     25.00     100.00
## 9       0     57.14     114.29
## 10      0      0.00     100.00
## 13      5     58.82     111.76
## 15      0     60.00      40.00
## 16      0     53.85     100.00
## 17      3     33.33      33.33
## 27      0     62.50     108.33
## 30      0     37.50      75.00
## 33      0     66.67      33.33
## 36      1     50.00      66.67
## 39      1     42.86      42.86
## 42      1     14.29     100.00
## 43      0    100.00       0.00
# Who did he score off easily in season 8?
warner8[warner8$StrikeRate > 160,]
##             Bowler   Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1          A Nehra DA Warner   25    14        2          0     4     0
## 2        MM Sharma DA Warner   39    15        2          0     5     2
## 3        IC Pandey DA Warner   18    11        4          1     1     2
## 6        SA Abbott DA Warner    7     3        0          0     1     0
## 7         HV Patel DA Warner   24     9        2          0     4     1
## 8         VR Aaron DA Warner   15     7        3          0     2     1
## 11       YS Chahal DA Warner   22    10        2          1     1     2
## 14        DJ Hooda DA Warner    8     4        2          0     2     0
## 18   DJ Muthuswami DA Warner   20     8        2          0     4     0
## 20        M Morkel DA Warner   15     8        2          1     3     0
## 21       SP Narine DA Warner   26    16        6          0     1     2
## 22       YK Pathan DA Warner   14     7        1          0     1     1
## 24       PP Chawla DA Warner    5     2        0          0     1     0
## 28      MG Johnson DA Warner   24     7        0          0     4     1
## 29   Anureet Singh DA Warner   24    14        6          0     4     1
## 32         RG More DA Warner   10     4        0          0     2     0
## 34       SR Watson DA Warner    8     3        1          1     2     0
## 38 Gurkeerat Singh DA Warner   19    10        3          0     2     1
## 41         D Wiese DA Warner   11     6        1          0     2     0
##    Extras DotballPc StrikeRate
## 1       0     14.29     178.57
## 2       1     13.33     260.00
## 3       5     36.36     163.64
## 6       0      0.00     233.33
## 7       1     22.22     266.67
## 8       0     42.86     214.29
## 11      0     20.00     220.00
## 14      0     50.00     200.00
## 18      0     25.00     250.00
## 20      0     25.00     187.50
## 21      1     37.50     162.50
## 22      0     14.29     200.00
## 24      0      0.00     250.00
## 28      0      0.00     342.86
## 29      1     42.86     171.43
## 32      0      0.00     250.00
## 34      0     33.33     266.67
## 38      0     30.00     190.00
## 41      0     16.67     183.33

Dale Steyn has some interesting numbers. Always thought he performed poorly in the IPL, but he actually has a really good record.

#### Dale Steyn
steyn = getBowlingBreakdown(allipl, "DW Steyn") # Does really well against most Indian batsmen. And against Hayden, Sehwag, Jayawardene, Hussey, Maxwell... 
steyn[steyn$StrikeRate > 150 & steyn$Balls > 5,] # A couple of batsmen play him really well though. Dhoni and Abdv basically. And Piyush Chawla....
##       Bowler        Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 3   DW Steyn       MS Dhoni  103    58       19          2     9     6
## 12  DW Steyn       SE Marsh   44    26        6          0     7     1
## 18  DW Steyn       BJ Hodge   45    24        5          1     9     0
## 28  DW Steyn AB de Villiers   55    23        5          2     3     5
## 41  DW Steyn     A Flintoff   14     8        1          0     1     1
## 44  DW Steyn      MK Tiwary   36    22        6          1     5     1
## 52  DW Steyn      YK Pathan   82    49       14          2    10     3
## 57  DW Steyn      GJ Bailey   27    15        5          0     2     2
## 76  DW Steyn      JP Duminy   24    15        5          1     3     1
## 107 DW Steyn      PP Chawla   18    10        1          1     3     0
## 161 DW Steyn        M Vohra   20     8        2          0     0     2
##     Extras DotballPc StrikeRate
## 3        2     32.76     177.59
## 12       7     23.08     169.23
## 18       4     20.83     187.50
## 28       1     21.74     239.13
## 41       1     12.50     175.00
## 44       0     27.27     163.64
## 52       3     28.57     167.35
## 57       0     33.33     180.00
## 76       0     33.33     160.00
## 107      0     10.00     180.00
## 161      0     25.00     250.00
steyn[steyn$StrikeRate < 100,]
##       Bowler          Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 2   DW Steyn        ML Hayden   15    31       14          0     1     0
## 5   DW Steyn         V Sehwag   33    37       17          2     5     0
## 6   DW Steyn     Shoaib Malik    0     1        1          1     0     0
## 7   DW Steyn       KD Karthik   14    16        6          3     0     1
## 8   DW Steyn     AC Gilchrist   50    56       23          1     5     1
## 9   DW Steyn         HH Gibbs   24    25       13          1     4     0
## 10  DW Steyn         AS Yadav    0     3        3          2     0     0
## 11  DW Steyn         RP Singh    1     4        3          2     0     0
## 15  DW Steyn DPMD Jayawardene   24    35       23          0     3     1
## 16  DW Steyn        IK Pathan    8    16        9          2     1     0
## 17  DW Steyn         A Chopra    1     4        3          1     0     0
## 19  DW Steyn       SC Ganguly   36    38       19          0     5     1
## 20  DW Steyn          T Taibu    0     1        1          1     0     0
## 24  DW Steyn    ST Jayasuriya    1    16       11          2     0     0
## 27  DW Steyn    LA Pomersbach    5     9        4          0     0     0
## 29  DW Steyn         S Dhawan   10    12        5          1     1     0
## 32  DW Steyn        JA Morkel    9    13        6          2     1     0
## 33  DW Steyn         S Vidyut    0     3        3          1     0     0
## 34  DW Steyn         L Balaji    0     3        2          1     0     0
## 35  DW Steyn          M Ntini    0     3        3          0     0     0
## 36  DW Steyn       VVS Laxman    8    11        6          0     1     0
## 37  DW Steyn        RG Sharma   37    47       21          1     4     0
## 39  DW Steyn         NK Patel    2    12        7          0     0     0
## 40  DW Steyn      T Henderson    0     2        2          0     0     0
## 42  DW Steyn  Y Venugopal Rao    2     5        3          0     0     0
## 47  DW Steyn         MS Bisla   36    45       24          0     6     0
## 48  DW Steyn     Yuvraj Singh   20    23        6          1     1     0
## 49  DW Steyn          NV Ojha   14    19       10          0     1     0
## 50  DW Steyn          MJ Lumb    2     7        4          0     0     0
## 51  DW Steyn        DR Martyn    2     3        1          0     0     0
## 53  DW Steyn          AP Tare    8    11        5          1     1     0
## 54  DW Steyn        R Sathish    2     6        4          1     0     0
## 55  DW Steyn       KA Pollard   38    45       20          1     2     1
## 63  DW Steyn          M Vijay   22    29       16          0     2     0
## 68  DW Steyn       AB Agarkar    1     2        1          0     0     0
## 69  DW Steyn        MD Mishra    2     6        3          0     0     0
## 70  DW Steyn        SR Watson    9    18       12          0     1     0
## 71  DW Steyn  AA Jhunjhunwala    0     1        1          0     0     0
## 72  DW Steyn         AC Voges    5     7        5          0     1     0
## 73  DW Steyn          AS Raut    2     4        2          0     0     0
## 74  DW Steyn        R McLaren    4     8        4          0     0     0
## 77  DW Steyn         AM Nayar    9    10        4          1     1     0
## 79  DW Steyn    Anirudh Singh    9    14        9          0     2     0
## 80  DW Steyn         DR Smith   27    36       24          0     5     0
## 81  DW Steyn      AG Paunikar    8     9        6          1     2     0
## 83  DW Steyn          J Botha   13    16        9          1     2     0
## 86  DW Steyn       MA Agarwal   16    17        9          1     2     0
## 87  DW Steyn       TM Dilshan   13    24       16          1     1     0
## 88  DW Steyn           Z Khan    0     7        7          2     0     0
## 89  DW Steyn  JJ van der Wath    0     1        1          1     0     0
## 90  DW Steyn          R Ninan    2     4        1          0     0     0
## 91  DW Steyn       DL Vettori    1     3        1          0     0     0
## 92  DW Steyn      PC Valthaty   15    18       12          1     3     0
## 94  DW Steyn        DJ Jacobs    0     2        2          0     0     0
## 102 DW Steyn        MK Pandey   21    24       11          0     3     0
## 105 DW Steyn       WD Parnell    1     2        0          0     0     0
## 106 DW Steyn          P Kumar    1     9        7          1     0     0
## 109 DW Steyn         DJ Bravo    4     7        3          0     0     0
## 110 DW Steyn          RE Levi    1     8        7          2     0     0
## 111 DW Steyn     JEC Franklin    3    10        5          0     0     0
## 112 DW Steyn     KP Pietersen   15    18        9          1     2     0
## 113 DW Steyn        AM Rahane   18    32       21          2     2     0
## 114 DW Steyn       AL Menaria    2     5        3          0     0     0
## 116 DW Steyn           DB Das    1     2        1          0     0     0
## 119 DW Steyn          N Saini    1     5        3          0     0     0
## 120 DW Steyn    Mandeep Singh    2     5        3          1     0     0
## 122 DW Steyn        DJ Hussey   12    13        7          0     2     0
## 123 DW Steyn       SD Chitnis    0     1        1          1     0     0
## 125 DW Steyn          OA Shah    6     7        2          0     0     0
## 127 DW Steyn       AD Mathews    3     5        2          0     0     0
## 128 DW Steyn          B Kumar    0     1        1          1     0     0
## 129 DW Steyn         R Sharma    0     1        1          1     0     0
## 130 DW Steyn         AB Dinda    0     2        2          1     0     0
## 132 DW Steyn         S Nadeem    0     1        1          1     0     0
## 133 DW Steyn         UT Yadav    3     9        6          0     0     0
## 134 DW Steyn   AD Mascarenhas    1     2        1          0     0     0
## 135 DW Steyn       MEK Hussey    8    13        7          0     1     0
## 136 DW Steyn        CH Morris    0     1        1          0     0     0
## 140 DW Steyn    Harmeet Singh    3     4        2          0     0     0
## 142 DW Steyn         PV Tambe    4     8        3          0     0     0
## 143 DW Steyn       SK Trivedi    0     1        1          0     0     0
## 144 DW Steyn RN ten Doeschate    3     7        3          0     0     0
## 145 DW Steyn          P Dogra    0     1        1          1     0     0
## 147 DW Steyn        SV Samson   15    17       10          1     1     1
## 148 DW Steyn      JP Faulkner    7     8        4          0     1     0
## 149 DW Steyn         R Bhatia    5     6        3          1     1     0
## 150 DW Steyn       GJ Maxwell    7     8        3          0     1     0
## 151 DW Steyn       MG Johnson    0     3        1          0     0     0
## 154 DW Steyn      CJ Anderson    0     4        4          1     0     0
## 155 DW Steyn         MA Starc    3     5        2          0     0     0
## 158 DW Steyn         R Shukla    2     3        1          0     0     0
## 162 DW Steyn        DA Miller    3     5        3          0     0     0
##     Extras DotballPc StrikeRate
## 2        8     45.16      48.39
## 5        3     45.95      89.19
## 6        0    100.00       0.00
## 7        1     37.50      87.50
## 8        7     41.07      89.29
## 9        1     52.00      96.00
## 10       0    100.00       0.00
## 11       0     75.00      25.00
## 15       2     65.71      68.57
## 16       2     56.25      50.00
## 17       0     75.00      25.00
## 19       4     50.00      94.74
## 20       0    100.00       0.00
## 24       4     68.75       6.25
## 27       1     44.44      55.56
## 29       1     41.67      83.33
## 32       2     46.15      69.23
## 33       0    100.00       0.00
## 34       1     66.67       0.00
## 35       0    100.00       0.00
## 36       0     54.55      72.73
## 37       3     44.68      78.72
## 39       3     58.33      16.67
## 40       0    100.00       0.00
## 42       0     60.00      40.00
## 47       9     53.33      80.00
## 48       4     26.09      86.96
## 49       2     52.63      73.68
## 50       1     57.14      28.57
## 51       0     33.33      66.67
## 53       2     45.45      72.73
## 54       0     66.67      33.33
## 55       3     44.44      84.44
## 63       1     55.17      75.86
## 68       0     50.00      50.00
## 69       1     50.00      33.33
## 70       0     66.67      50.00
## 71       0    100.00       0.00
## 72       0     71.43      71.43
## 73       0     50.00      50.00
## 74       0     50.00      50.00
## 77       0     40.00      90.00
## 79       2     64.29      64.29
## 80       1     66.67      75.00
## 81       1     66.67      88.89
## 83       0     56.25      81.25
## 86       1     52.94      94.12
## 87       5     66.67      54.17
## 88       0    100.00       0.00
## 89       0    100.00       0.00
## 90       1     25.00      50.00
## 91       1     33.33      33.33
## 92       1     66.67      83.33
## 94       0    100.00       0.00
## 102      1     45.83      87.50
## 105      1      0.00      50.00
## 106      1     77.78      11.11
## 109      1     42.86      57.14
## 110      0     87.50      12.50
## 111      2     50.00      30.00
## 112      0     50.00      83.33
## 113      0     65.62      56.25
## 114      0     60.00      40.00
## 116      0     50.00      50.00
## 119      1     60.00      20.00
## 120      0     60.00      40.00
## 122      0     53.85      92.31
## 123      0    100.00       0.00
## 125      1     28.57      85.71
## 127      0     40.00      60.00
## 128      0    100.00       0.00
## 129      0    100.00       0.00
## 130      0    100.00       0.00
## 132      0    100.00       0.00
## 133      1     66.67      33.33
## 134      0     50.00      50.00
## 135      1     53.85      61.54
## 136      0    100.00       0.00
## 140      0     50.00      75.00
## 142      1     37.50      50.00
## 143      0    100.00       0.00
## 144      4     42.86      42.86
## 145      0    100.00       0.00
## 147      0     58.82      88.24
## 148      0     50.00      87.50
## 149      1     50.00      83.33
## 150      1     37.50      87.50
## 151      2     33.33       0.00
## 154      0    100.00       0.00
## 155      0     40.00      60.00
## 158      0     33.33      66.67
## 162      0     60.00      60.00

Interesting numbers from one the unsung Royals heroes of the first season, Siddharth Trivedi.

#### Siddharth Trivedi
trivedi = getBowlingBreakdown(allipl, "SK Trivedi")
trivedi[trivedi$StrikeRate < 100,]
##         Bowler         Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1   SK Trivedi       G Gambhir   33    35        9          2     3     0
## 6   SK Trivedi       IK Pathan   13    21       10          1     0     0
## 7   SK Trivedi           B Lee    0     2        2          1     0     0
## 8   SK Trivedi       PP Chawla    9    10        3          1     0     0
## 16  SK Trivedi         P Kumar    5     7        5          0     1     0
## 19  SK Trivedi        BJ Hodge    9    11        5          0     1     0
## 21  SK Trivedi          DB Das    4     5        1          0     0     0
## 22  SK Trivedi         WP Saha    1     2        1          1     0     0
## 26  SK Trivedi       JA Morkel    2     5        3          0     0     0
## 31  SK Trivedi       SB Styris    1     2        1          0     0     0
## 34  SK Trivedi    DB Ravi Teja    6     9        4          0     0     0
## 38  SK Trivedi        A Mishra   14    17        7          1     1     0
## 39  SK Trivedi     MF Maharoof    7     8        4          0     1     0
## 42  SK Trivedi        DT Patil    3     5        2          0     0     0
## 43  SK Trivedi       LR Shukla    7    12       10          1     0     1
## 54  SK Trivedi     S Sreesanth    4     6        5          0     1     0
## 56  SK Trivedi       ML Hayden    5     6        1          0     0     0
## 59  SK Trivedi       AM Rahane    2     4        2          0     0     0
## 60  SK Trivedi       JP Duminy   24    28        9          2     0     1
## 61  SK Trivedi       CA Pujara   10    12        5          1     1     0
## 63  SK Trivedi       RS Bopara    6    10        3          0     0     0
## 66  SK Trivedi KB Arun Karthik    1     3        1          0     0     0
## 67  SK Trivedi      T Thushara    2     3        1          0     0     0
## 68  SK Trivedi       KM Jadhav   11    15        7          1     1     0
## 70  SK Trivedi   Anirudh Singh    3     5        2          0     0     0
## 71  SK Trivedi        RP Singh    1     4        2          2     0     0
## 73  SK Trivedi      KA Pollard   10    19        7          0     0     0
## 76  SK Trivedi        B Chipli    5     7        5          1     1     0
## 77  SK Trivedi    DT Christian    3     7        3          1     0     0
## 78  SK Trivedi        DW Steyn    1     2        1          0     0     0
## 84  SK Trivedi       R McLaren    0     5        4          0     0     0
## 86  SK Trivedi     NLTC Perera    1     2        1          1     0     0
## 87  SK Trivedi        RV Gomez    0     1        1          1     0     0
## 88  SK Trivedi  M Muralitharan    0     2        1          0     0     0
## 90  SK Trivedi  Harpreet Singh    4     5        1          0     0     0
## 93  SK Trivedi        R Sharma    0     1        1          1     0     0
## 96  SK Trivedi   Mandeep Singh    7     8        3          0     1     0
## 97  SK Trivedi       YK Pathan   22    25        8          1     2     0
## 103 SK Trivedi          M Kaif    5     6        1          0     0     0
## 104 SK Trivedi      DL Vettori    1     2        1          1     0     0
## 107 SK Trivedi      MA Agarwal    2     4        2          0     0     0
## 109 SK Trivedi Gurkeerat Singh    9    11        3          1     0     0
## 112 SK Trivedi        DJ Bravo    2     5        3          1     0     0
## 113 SK Trivedi     CJ Ferguson    2     3        1          0     0     0
## 116 SK Trivedi        CL White    8    11        5          1     1     0
## 117 SK Trivedi         CA Lynn    1     2        1          1     0     0
## 122 SK Trivedi        A Mukund    1     3        2          1     0     0
## 123 SK Trivedi    MC Henriques    0     1        0          0     0     0
## 125 SK Trivedi       GH Vihari    5     6        3          1     0     0
## 126 SK Trivedi    BB Samantray    9    11        3          0     0     0
##     Extras DotballPc StrikeRate
## 1        4     25.71      94.29
## 6        0     47.62      61.90
## 7        0    100.00       0.00
## 8        0     30.00      90.00
## 16       0     71.43      71.43
## 19       0     45.45      81.82
## 21       0     20.00      80.00
## 22       0     50.00      50.00
## 26       0     60.00      40.00
## 31       0     50.00      50.00
## 34       0     44.44      66.67
## 38       2     41.18      82.35
## 39       1     50.00      87.50
## 42       0     40.00      60.00
## 43       0     83.33      58.33
## 54       0     83.33      66.67
## 56       0     16.67      83.33
## 59       0     50.00      50.00
## 60       6     32.14      85.71
## 61       0     41.67      83.33
## 63       1     30.00      60.00
## 66       1     33.33      33.33
## 67       0     33.33      66.67
## 68       1     46.67      73.33
## 70       0     40.00      60.00
## 71       1     50.00      25.00
## 73       2     36.84      52.63
## 76       0     71.43      71.43
## 77       1     42.86      42.86
## 78       0     50.00      50.00
## 84       2     80.00       0.00
## 86       0     50.00      50.00
## 87       0    100.00       0.00
## 88       1     50.00       0.00
## 90       0     20.00      80.00
## 93       0    100.00       0.00
## 96       1     37.50      87.50
## 97       2     32.00      88.00
## 103      0     16.67      83.33
## 104      0     50.00      50.00
## 107      0     50.00      50.00
## 109      0     27.27      81.82
## 112      0     60.00      40.00
## 113      0     33.33      66.67
## 116      2     45.45      72.73
## 117      0     50.00      50.00
## 122      0     66.67      33.33
## 123      1      0.00       0.00
## 125      0     50.00      83.33
## 126      1     27.27      81.82
trivedi[trivedi$StrikeRate > 150,]
##         Bowler         Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 3   SK Trivedi        JR Hopes   17     7        0          0     3     0
## 10  SK Trivedi       A Symonds   43    21        2          1     4     2
## 17  SK Trivedi          Z Khan    9     5        2          0     2     0
## 24  SK Trivedi        SK Raina   92    56        6          1    10     1
## 37  SK Trivedi      TM Dilshan   54    32       10          0     6     3
## 41  SK Trivedi        R Dravid   21     9        1          0     3     1
## 55  SK Trivedi         M Vijay   29    16        5          2     2     2
## 58  SK Trivedi Y Venugopal Rao   26    11        1          1     2     2
## 62  SK Trivedi         OA Shah    7     3        1          0     0     1
## 65  SK Trivedi        HH Gibbs    5     2        0          0     1     0
## 69  SK Trivedi     AB McDonald    8     5        1          0     1     0
## 83  SK Trivedi     PC Valthaty   24     8        3          0     3     2
## 92  SK Trivedi     NL McCullum    8     3        0          0     0     1
## 98  SK Trivedi        R Bhatia   13     8        3          1     2     0
## 127 SK Trivedi         AP Tare    8     5        2          0     0     1
##     Extras DotballPc StrikeRate
## 3        0      0.00     242.86
## 10       1      9.52     204.76
## 17       0     40.00     180.00
## 24       4     10.71     164.29
## 37       2     31.25     168.75
## 41       2     11.11     233.33
## 55       1     31.25     181.25
## 58       1      9.09     236.36
## 62       0     33.33     233.33
## 65       0      0.00     250.00
## 69       0     20.00     160.00
## 83       1     37.50     300.00
## 92       1      0.00     266.67
## 98       0     37.50     162.50
## 127      0     40.00     160.00
# Season 1
trivedi1 = getBowlingBreakdown(ipl1, "SK Trivedi")

And so on. You can do this for just about any players. I have not spent too much time fiddling around with the data, but even the limited work I have done has yielded some interesting insights. Of course, the advantage of using R for data processing is the availabilty of powerful visualization and statistical libraries. Here is a slightly trivial example - just to show how this could work, I guess - of how Mike Hussey, Chris Gayle, and Virat Kohli compare when they are bogged down by dot balls.

#### Mike Hussey
huss = getBattingBreakdown(allipl, "MEK Hussey")
huss[huss$StrikeRate > 140 & huss$Balls > 5,]
##              Bowler    Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 3          JR Hopes MEK Hussey   16    10        4          0     0     2
## 4         IK Pathan MEK Hussey   59    37       12          2     7     2
## 5            K Goel MEK Hussey   17     9        2          0     1     1
## 7           WA Mota MEK Hussey   17     6        0          0     2     1
## 9       DS Kulkarni MEK Hussey   27    19        6          1     1     2
## 12        JH Kallis MEK Hussey   62    40        9          2     4     3
## 13          B Akhil MEK Hussey   18    12        4          0     0     2
## 18        R Sathish MEK Hussey   20    10        1          0     3     0
## 25  JJ van der Wath MEK Hussey   22    12        2          0     3     0
## 40         I Sharma MEK Hussey   38    21        5          0     5     1
## 41         A Mishra MEK Hussey   44    25        7          1     5     2
## 48        STR Binny MEK Hussey   39    23        3          1     6     0
## 49       AL Menaria MEK Hussey   24    13        1          0     4     0
## 51        YK Pathan MEK Hussey   37    26        4          0     2     1
## 54          A Singh MEK Hussey   14     7        2          0     3     0
## 60  J Syed Mohammad MEK Hussey   24    11        2          1     1     2
## 61         A Mithun MEK Hussey   12     6        0          0     1     0
## 67         VR Aaron MEK Hussey   14     8        4          1     1     1
## 75  Shakib Al Hasan MEK Hussey   15    10        4          0     1     1
## 77    Azhar Mahmood MEK Hussey   20    12        2          0     1     1
## 78          P Awana MEK Hussey   24    16        6          0     4     0
## 80         S Nadeem MEK Hussey   24    17        1          0     0     2
## 81       AB Agarkar MEK Hussey   16    11        2          0     1     1
## 84         R Shukla MEK Hussey   19     8        1          0     4     0
## 86        KK Cooper MEK Hussey   30    19        4          1     5     0
## 87        DJG Sammy MEK Hussey   22    10        1          0     1     2
## 95      NLTC Perera MEK Hussey   11     6        1          1     2     0
## 97           S Kaul MEK Hussey   18    12        4          0     3     0
## 103      JD Unadkat MEK Hussey   12     8        1          1     2     0
## 105    Ankit Sharma MEK Hussey   18    11        2          1     0     1
## 111       MM Sharma MEK Hussey   10     6        2          0     2     0
## 112        R Ashwin MEK Hussey   11     7        3          0     0     1
## 116       YS Chahal MEK Hussey   21    12        3          0     0     2
##     Extras DotballPc StrikeRate
## 3        1     40.00     160.00
## 4        1     32.43     159.46
## 5        0     22.22     188.89
## 7        0      0.00     283.33
## 9        2     31.58     142.11
## 12       2     22.50     155.00
## 13       0     33.33     150.00
## 18       1     10.00     200.00
## 25       0     16.67     183.33
## 40       1     23.81     180.95
## 41       1     28.00     176.00
## 48       2     13.04     169.57
## 49       2      7.69     184.62
## 51       1     15.38     142.31
## 54       0     28.57     200.00
## 60       0     18.18     218.18
## 61       0      0.00     200.00
## 67       0     50.00     175.00
## 75       0     40.00     150.00
## 77       0     16.67     166.67
## 78       0     37.50     150.00
## 80       2      5.88     141.18
## 81       1     18.18     145.45
## 84       0     12.50     237.50
## 86       1     21.05     157.89
## 87       1     10.00     220.00
## 95       0     16.67     183.33
## 97       0     33.33     150.00
## 103      1     12.50     150.00
## 105      0     18.18     163.64
## 111      0     33.33     166.67
## 112      0     42.86     157.14
## 116      0     25.00     175.00
huss[huss$StrikeRate < 110 & huss$Balls > 5,] # Zak, Nehra, RP Singh. And Harbhajan, Ojha, Murali Kartik
##              Bowler    Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 8           A Nehra MEK Hussey    9    20       13          1     0     0
## 10           Z Khan MEK Hussey   31    36       16          4     3     1
## 15  Harbhajan Singh MEK Hussey   39    46       21          1     3     1
## 19        RG Sharma MEK Hussey    5     6        1          0     0     0
## 21          PP Ojha MEK Hussey   17    19        5          1     1     0
## 28         RP Singh MEK Hussey   28    26       15          1     6     0
## 29    R Vinay Kumar MEK Hussey   20    23       13          2     1     1
## 33        JE Taylor MEK Hussey   12    14        6          1     2     0
## 34        AC Thomas MEK Hussey   15    18        8          0     2     0
## 35         M Kartik MEK Hussey   15    15        6          1     2     0
## 38        JP Duminy MEK Hussey   13    14        4          0     1     0
## 39     DT Christian MEK Hussey    9     9        2          0     0     0
## 42    Harmeet Singh MEK Hussey    3     6        3          1     0     0
## 44          J Botha MEK Hussey   29    33       13          1     3     0
## 50    Iqbal Abdulla MEK Hussey    3    10        6          0     0     0
## 55   M Muralitharan MEK Hussey    8     8        3          0     1     0
## 57        RA Jadeja MEK Hussey    9    12        4          2     0     0
## 59         CH Gayle MEK Hussey    2     6        2          0     0     0
## 62        SP Narine MEK Hussey   37    44       20          4     3     0
## 63     Pankaj Singh MEK Hussey    6     7        4          0     1     0
## 64          SW Tait MEK Hussey    2    12        9          1     0     0
## 65         M Morkel MEK Hussey   30    34       21          0     5     0
## 66         UT Yadav MEK Hussey   12    21       11          1     1     0
## 73       AD Russell MEK Hussey    4     6        4          0     0     0
## 79        R Rampaul MEK Hussey    8     9        4          0     1     0
## 82  SMSM Senanayake MEK Hussey    7    12        8          0     1     0
## 85      JP Faulkner MEK Hussey   23    22        9          0     2     1
## 88         DW Steyn MEK Hussey    8    13        7          0     1     0
## 89        KV Sharma MEK Hussey   12    13        5          0     0     1
## 90      Shami Ahmed MEK Hussey    5     6        4          0     1     0
## 92        DJ Hussey MEK Hussey    8    10        2          0     0     0
## 96         VS Malik MEK Hussey   13    12        6          0     2     0
## 99        JA Morkel MEK Hussey    2     6        4          1     0     0
## 100       IC Pandey MEK Hussey   11    14        7          0     2     0
## 102      WD Parnell MEK Hussey   13    15        7          0     2     0
## 106  Sandeep Sharma MEK Hussey    2     6        4          1     0     0
## 113  MJ McClenaghan MEK Hussey    6     8        3          1     1     0
## 115         D Wiese MEK Hussey   11    11        3          1     1     0
##     Extras DotballPc StrikeRate
## 8        0     65.00      45.00
## 10       4     44.44      86.11
## 15       0     45.65      84.78
## 19       1     16.67      83.33
## 21       5     26.32      89.47
## 28       1     57.69     107.69
## 29       1     56.52      86.96
## 33       2     42.86      85.71
## 34       2     44.44      83.33
## 35       0     40.00     100.00
## 38       0     28.57      92.86
## 39       0     22.22     100.00
## 42       0     50.00      50.00
## 44       0     39.39      87.88
## 50       1     60.00      30.00
## 55       0     37.50     100.00
## 57       0     33.33      75.00
## 59       6     33.33      33.33
## 62       0     45.45      84.09
## 63       0     57.14      85.71
## 64       1     75.00      16.67
## 65       1     61.76      88.24
## 66       1     52.38      57.14
## 73       0     66.67      66.67
## 79       0     44.44      88.89
## 82       0     66.67      58.33
## 85       1     40.91     104.55
## 88       1     53.85      61.54
## 89       1     38.46      92.31
## 90       0     66.67      83.33
## 92       1     20.00      80.00
## 96       0     50.00     108.33
## 99       0     66.67      33.33
## 100      2     50.00      78.57
## 102      1     46.67      86.67
## 106      0     66.67      33.33
## 113      2     37.50      75.00
## 115      0     27.27     100.00
hussLotsOfDots = huss[huss$DotballPc > 50 & huss$Balls > 5,]

#### Chris Gayle
gayle = getBattingBreakdown(allipl, "CH Gayle")
gayleLotsOfDots = gayle[gayle$DotballPc > 50 & gayle$Balls > 5,]

#### Virat Kohli
kohli = getBattingBreakdown(allipl, "V Kohli")
kohliLotsOfDots = kohli[kohli$DotballPc > 50 & kohli$Balls > 5,]

# Example plot: How do Virat Kohli, Mike Hussey, and Chris Gayle compare when they are bogged down by dot balls?
plot(xlab = "Dotball percent", ylab = "Strike Rate", hussLotsOfDots$DotballPc, hussLotsOfDots$StrikeRate, col='blue', ylim = c(0, 200), xlim = c(45, 80))
points(gayleLotsOfDots$DotballPc, gayleLotsOfDots$StrikeRate, col='red')
points(kohliLotsOfDots$DotballPc, kohliLotsOfDots$StrikeRate, col='green')
legend(x = "topleft", legend = c("Hussey", "Gayle", "Kohli"), col=c("blue", "red", "green"), pch = 1)

I would love to see what you come up with. Please let me know if you find anything interesting! I will probably give this more attention in a while and report more cool stuff I find.