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
## 6 PJ Sangwan S Badrinath 48 28 14 0 8
## 9 SR Watson S Badrinath 24 14 6 2 6
## 10 MM Patel S Badrinath 58 50 26 2 6
## 12 SB Styris S Badrinath 0 6 4 0 0
## 17 PP Chawla S Badrinath 62 58 26 2 8
## 19 A Nehra S Badrinath 38 44 18 2 4
## 21 DS Kulkarni S Badrinath 64 50 24 2 10
## 23 A Kumble S Badrinath 14 20 12 4 2
## 28 FH Edwards S Badrinath 2 8 6 0 0
## 29 RP Singh S Badrinath 34 38 16 6 4
## 34 Kamran Khan S Badrinath 10 8 4 0 2
## 35 SK Warne S Badrinath 28 50 28 2 2
## 37 A Mishra S Badrinath 36 44 18 2 2
## 41 RE van der Merwe S Badrinath 2 6 4 2 0
## 42 B Akhil S Badrinath 2 6 4 0 0
## 47 WPUJC Vaas S Badrinath 8 14 12 0 2
## 57 DW Steyn S Badrinath 16 8 4 0 4
## 60 Z Khan S Badrinath 26 44 26 0 2
## 62 SW Tait S Badrinath 2 6 4 2 0
## 70 RJ Harris S Badrinath 20 30 14 0 2
## 72 P Kumar S Badrinath 14 28 16 0 2
## 77 RV Gomez S Badrinath 6 8 4 2 0
## 91 S Nadeem S Badrinath 36 32 16 0 6
## 92 S Aravind S Badrinath 14 24 16 0 2
## 97 DT Christian S Badrinath 18 26 12 2 2
## 100 M Morkel S Badrinath 12 26 18 0 2
## 104 AL Menaria S Badrinath 4 12 8 0 0
## 105 KK Cooper S Badrinath 6 8 4 0 0
## 106 GB Hogg S Badrinath 2 10 8 2 0
## 110 DR Smith S Badrinath 12 12 8 0 2
## 111 J Syed Mohammad S Badrinath 6 16 8 2 0
## 117 MG Johnson S Badrinath 0 10 10 4 0
## Sixes Extras DotballPc StrikeRate
## 6 2 0 50.00 171.43
## 9 0 2 42.86 171.43
## 10 2 0 52.00 116.00
## 12 0 2 66.67 0.00
## 17 0 0 44.83 106.90
## 19 0 2 40.91 86.36
## 21 2 4 48.00 128.00
## 23 0 0 60.00 70.00
## 28 0 0 75.00 25.00
## 29 0 0 42.11 89.47
## 34 0 0 50.00 125.00
## 35 0 6 56.00 56.00
## 37 0 0 40.91 81.82
## 41 0 0 66.67 33.33
## 42 0 0 66.67 33.33
## 47 0 0 85.71 57.14
## 57 0 0 50.00 200.00
## 60 0 2 59.09 59.09
## 62 0 0 66.67 33.33
## 70 0 2 46.67 66.67
## 72 0 6 57.14 50.00
## 77 0 0 50.00 75.00
## 91 0 0 50.00 112.50
## 92 0 2 66.67 58.33
## 97 0 2 46.15 69.23
## 100 0 4 69.23 46.15
## 104 0 0 66.67 33.33
## 105 0 0 50.00 75.00
## 106 0 0 80.00 20.00
## 110 0 0 66.67 100.00
## 111 0 2 50.00 37.50
## 117 0 0 100.00 0.00
# Total number of bowlers he faced more than 5 balls from = 71
length(badri[badri$Balls > 5,]$Bowler)
## [1] 101
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
## 8 SK Raina RJ Quiney 4 10 6 2 0 0
## 11 SK Raina DA Warner 66 58 24 2 6 2
## 15 SK Raina PP Ojha 0 8 8 4 0 0
## 19 SK Raina AS Raut 14 8 4 2 0 2
## 22 SK Raina AM Nayar 20 20 10 2 0 2
## 28 SK Raina WA Mota 6 12 8 0 0 0
## 30 SK Raina B Lee 10 8 4 2 2 0
## 33 SK Raina R Dravid 6 12 6 0 0 0
## 37 SK Raina I Sharma 4 8 4 0 0 0
## 38 SK Raina M Manhas 18 34 16 0 0 0
## 42 SK Raina SS Tiwary 66 58 24 0 4 4
## 46 SK Raina AN Ahmed 6 14 6 0 0 0
## 53 SK Raina EJG Morgan 6 18 12 2 0 0
## 58 SK Raina MR Marsh 2 8 6 0 0 0
## 70 SK Raina SC Ganguly 2 8 6 0 0 0
## 76 SK Raina GH Vihari 2 6 4 2 0 0
## 78 SK Raina STR Binny 6 14 8 0 0 0
## 84 SK Raina RN ten Doeschate 2 8 6 0 0 0
## 88 SK Raina R Dhawan 2 6 4 0 0 0
## Extras DotballPc StrikeRate
## 8 0 60.00 40.00
## 11 0 41.38 113.79
## 15 0 100.00 0.00
## 19 0 50.00 175.00
## 22 0 50.00 100.00
## 28 0 66.67 50.00
## 30 0 50.00 125.00
## 33 0 50.00 50.00
## 37 0 50.00 50.00
## 38 0 47.06 52.94
## 42 6 41.38 113.79
## 46 4 42.86 42.86
## 53 0 66.67 33.33
## 58 0 75.00 25.00
## 70 0 75.00 25.00
## 76 0 66.67 33.33
## 78 0 57.14 42.86
## 84 0 75.00 25.00
## 88 0 66.67 33.33
raina[raina$Balls > 5 & raina$StrikeRate < 120,]
## Bowler Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1 SK Raina GC Smith 36 32 8 4 0 2
## 5 SK Raina HH Gibbs 24 24 8 0 2 0
## 6 SK Raina VVS Laxman 4 6 2 2 0 0
## 8 SK Raina RJ Quiney 4 10 6 2 0 0
## 9 SK Raina RA Jadeja 26 28 8 0 2 0
## 10 SK Raina YK Pathan 20 20 6 0 2 0
## 11 SK Raina DA Warner 66 58 24 2 6 2
## 15 SK Raina PP Ojha 0 8 8 4 0 0
## 16 SK Raina Yuvraj Singh 110 114 40 4 12 0
## 17 SK Raina DPMD Jayawardene 10 12 2 0 0 0
## 20 SK Raina JP Duminy 28 30 4 0 2 0
## 21 SK Raina SR Tendulkar 24 28 8 2 2 0
## 22 SK Raina AM Nayar 20 20 10 2 0 2
## 24 SK Raina BJ Hodge 54 50 16 0 6 0
## 26 SK Raina LA Pomersbach 4 8 2 0 0 0
## 27 SK Raina KC Sangakkara 24 26 8 2 2 0
## 28 SK Raina WA Mota 6 12 8 0 0 0
## 29 SK Raina IK Pathan 12 22 6 0 0 0
## 32 SK Raina MK Pandey 14 14 2 0 0 0
## 33 SK Raina R Dravid 6 12 6 0 0 0
## 37 SK Raina I Sharma 4 8 4 0 0 0
## 38 SK Raina M Manhas 18 34 16 0 0 0
## 39 SK Raina M Kaif 10 10 0 0 0 0
## 41 SK Raina FY Fazal 14 14 0 0 0 0
## 42 SK Raina SS Tiwary 66 58 24 0 4 4
## 45 SK Raina Harbhajan Singh 8 10 2 2 0 0
## 46 SK Raina AN Ahmed 6 14 6 0 0 0
## 47 SK Raina A Symonds 10 20 6 0 0 0
## 49 SK Raina AD Mathews 8 12 4 0 0 0
## 51 SK Raina G Gambhir 44 46 16 2 4 0
## 53 SK Raina EJG Morgan 6 18 12 2 0 0
## 57 SK Raina RV Uthappa 20 18 6 0 2 0
## 58 SK Raina MR Marsh 2 8 6 0 0 0
## 62 SK Raina Y Venugopal Rao 14 12 2 0 2 0
## 66 SK Raina S Dhawan 42 52 20 4 2 2
## 67 SK Raina PA Patel 14 14 0 0 0 0
## 69 SK Raina JD Ryder 16 22 6 0 0 0
## 70 SK Raina SC Ganguly 2 8 6 0 0 0
## 71 SK Raina MN Samuels 10 12 2 0 0 0
## 73 SK Raina Mandeep Singh 4 6 2 0 0 0
## 76 SK Raina GH Vihari 2 6 4 2 0 0
## 78 SK Raina STR Binny 6 14 8 0 0 0
## 80 SK Raina SA Yadav 18 20 8 0 0 0
## 84 SK Raina RN ten Doeschate 2 8 6 0 0 0
## 88 SK Raina R Dhawan 2 6 4 0 0 0
## 91 SK Raina Q de Kock 18 26 10 0 0 0
## Extras DotballPc StrikeRate
## 1 0 25.00 112.50
## 5 0 33.33 100.00
## 6 0 33.33 66.67
## 8 0 60.00 40.00
## 9 0 28.57 92.86
## 10 2 30.00 100.00
## 11 0 41.38 113.79
## 15 0 100.00 0.00
## 16 6 35.09 96.49
## 17 0 16.67 83.33
## 20 4 13.33 93.33
## 21 4 28.57 85.71
## 22 0 50.00 100.00
## 24 4 32.00 108.00
## 26 2 25.00 50.00
## 27 2 30.77 92.31
## 28 0 66.67 50.00
## 29 6 27.27 54.55
## 32 0 14.29 100.00
## 33 0 50.00 50.00
## 37 0 50.00 50.00
## 38 0 47.06 52.94
## 39 0 0.00 100.00
## 41 0 0.00 100.00
## 42 6 41.38 113.79
## 45 0 20.00 80.00
## 46 4 42.86 42.86
## 47 4 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
## 58 0 75.00 25.00
## 62 2 16.67 116.67
## 66 6 38.46 80.77
## 67 0 0.00 100.00
## 69 0 27.27 72.73
## 70 0 75.00 25.00
## 71 0 16.67 83.33
## 73 0 33.33 66.67
## 76 0 66.67 33.33
## 78 0 57.14 42.86
## 80 0 40.00 90.00
## 84 0 75.00 25.00
## 88 0 66.67 33.33
## 91 0 38.46 69.23
raina[raina$Balls > 5 & raina$StrikeRate > 160,]
## Bowler Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 2 SK Raina SA Asnodkar 12 6 0 0 2 0
## 3 SK Raina Kamran Akmal 20 10 0 0 0 2
## 12 SK Raina KD Karthik 62 32 6 0 12 0
## 13 SK Raina TL Suman 62 32 6 0 6 2
## 19 SK Raina AS Raut 14 8 4 2 0 2
## 43 SK Raina AT Rayudu 28 14 4 2 2 2
## 50 SK Raina LR Shukla 28 10 2 0 0 4
## 52 SK Raina SE Marsh 88 42 8 0 8 6
## 55 SK Raina Sunny Singh 22 8 2 0 2 2
## 64 SK Raina A Mithun 18 8 0 0 4 0
## 79 SK Raina CJ Anderson 58 30 6 0 4 4
## 81 SK Raina Shakib Al Hasan 12 6 0 0 2 0
## 85 SK Raina MC Henriques 26 10 4 0 0 4
## 90 SK Raina RR Pant 70 34 2 0 8 2
## Extras DotballPc StrikeRate
## 2 0 0.00 200.00
## 3 0 0.00 200.00
## 12 2 18.75 193.75
## 13 0 18.75 193.75
## 19 0 50.00 175.00
## 43 0 28.57 200.00
## 50 0 20.00 280.00
## 52 0 19.05 209.52
## 55 0 25.00 275.00
## 64 4 0.00 225.00
## 79 0 20.00 193.33
## 81 0 0.00 200.00
## 85 0 40.00 260.00
## 90 2 5.88 205.88
raina[raina$Balls > 10,]
## Bowler Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 1 SK Raina GC Smith 36 32 8 4 0 2
## 5 SK Raina HH Gibbs 24 24 8 0 2 0
## 7 SK Raina RG Sharma 80 56 14 2 2 6
## 9 SK Raina RA Jadeja 26 28 8 0 2 0
## 10 SK Raina YK Pathan 20 20 6 0 2 0
## 11 SK Raina DA Warner 66 58 24 2 6 2
## 12 SK Raina KD Karthik 62 32 6 0 12 0
## 13 SK Raina TL Suman 62 32 6 0 6 2
## 16 SK Raina Yuvraj Singh 110 114 40 4 12 0
## 17 SK Raina DPMD Jayawardene 10 12 2 0 0 0
## 20 SK Raina JP Duminy 28 30 4 0 2 0
## 21 SK Raina SR Tendulkar 24 28 8 2 2 0
## 22 SK Raina AM Nayar 20 20 10 2 0 2
## 23 SK Raina BB McCullum 58 38 8 0 4 2
## 24 SK Raina BJ Hodge 54 50 16 0 6 0
## 27 SK Raina KC Sangakkara 24 26 8 2 2 0
## 28 SK Raina WA Mota 6 12 8 0 0 0
## 29 SK Raina IK Pathan 12 22 6 0 0 0
## 32 SK Raina MK Pandey 14 14 2 0 0 0
## 33 SK Raina R Dravid 6 12 6 0 0 0
## 34 SK Raina V Kohli 108 90 28 2 6 4
## 38 SK Raina M Manhas 18 34 16 0 0 0
## 40 SK Raina NV Ojha 36 30 8 2 2 2
## 41 SK Raina FY Fazal 14 14 0 0 0 0
## 42 SK Raina SS Tiwary 66 58 24 0 4 4
## 43 SK Raina AT Rayudu 28 14 4 2 2 2
## 46 SK Raina AN Ahmed 6 14 6 0 0 0
## 47 SK Raina A Symonds 10 20 6 0 0 0
## 48 SK Raina MK Tiwary 24 20 4 2 2 0
## 49 SK Raina AD Mathews 8 12 4 0 0 0
## 51 SK Raina G Gambhir 44 46 16 2 4 0
## 52 SK Raina SE Marsh 88 42 8 0 8 6
## 53 SK Raina EJG Morgan 6 18 12 2 0 0
## 57 SK Raina RV Uthappa 20 18 6 0 2 0
## 62 SK Raina Y Venugopal Rao 14 12 2 0 2 0
## 63 SK Raina CH Gayle 134 86 24 2 6 14
## 66 SK Raina S Dhawan 42 52 20 4 2 2
## 67 SK Raina PA Patel 14 14 0 0 0 0
## 68 SK Raina CL White 20 14 0 0 2 0
## 69 SK Raina JD Ryder 16 22 6 0 0 0
## 71 SK Raina MN Samuels 10 12 2 0 0 0
## 72 SK Raina SPD Smith 22 16 4 0 0 2
## 78 SK Raina STR Binny 6 14 8 0 0 0
## 79 SK Raina CJ Anderson 58 30 6 0 4 4
## 80 SK Raina SA Yadav 18 20 8 0 0 0
## 90 SK Raina RR Pant 70 34 2 0 8 2
## 91 SK Raina Q de Kock 18 26 10 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
## 10 2 30.00 100.00
## 11 0 41.38 113.79
## 12 2 18.75 193.75
## 13 0 18.75 193.75
## 16 6 35.09 96.49
## 17 0 16.67 83.33
## 20 4 13.33 93.33
## 21 4 28.57 85.71
## 22 0 50.00 100.00
## 23 0 21.05 152.63
## 24 4 32.00 108.00
## 27 2 30.77 92.31
## 28 0 66.67 50.00
## 29 6 27.27 54.55
## 32 0 14.29 100.00
## 33 0 50.00 50.00
## 34 2 31.11 120.00
## 38 0 47.06 52.94
## 40 2 26.67 120.00
## 41 0 0.00 100.00
## 42 6 41.38 113.79
## 43 0 28.57 200.00
## 46 4 42.86 42.86
## 47 4 30.00 50.00
## 48 0 20.00 120.00
## 49 0 33.33 66.67
## 51 0 34.78 95.65
## 52 0 19.05 209.52
## 53 0 66.67 33.33
## 57 0 33.33 111.11
## 62 2 16.67 116.67
## 63 16 27.91 155.81
## 66 6 38.46 80.77
## 67 0 0.00 100.00
## 68 0 0.00 142.86
## 69 0 27.27 72.73
## 71 0 16.67 83.33
## 72 0 25.00 137.50
## 78 0 57.14 42.86
## 79 0 20.00 193.33
## 80 0 40.00 90.00
## 90 2 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 24 14 6 2 6 0
## 32 SR Watson YV Takawale 58 20 2 0 10 2
## 35 SR Watson DJ Bravo 56 34 10 4 8 2
## 47 SR Watson DB Das 16 8 0 0 2 0
## 49 SR Watson WP Saha 16 8 2 2 0 2
## 57 SR Watson ML Hayden 26 10 2 0 2 2
## 66 SR Watson KA Pollard 150 86 26 2 20 8
## 70 SR Watson BB McCullum 44 28 10 2 6 2
## 75 SR Watson Sunny Singh 10 6 2 0 2 0
## 79 SR Watson DJ Jacobs 20 10 2 0 0 2
## 80 SR Watson Harbhajan Singh 34 16 4 0 4 2
## 96 SR Watson S Anirudha 22 6 0 0 2 2
## 97 SR Watson AP Majumdar 18 10 4 0 4 0
## 101 SR Watson PA Reddy 24 14 4 0 4 0
## 105 SR Watson DJG Sammy 66 32 6 2 4 6
## 110 SR Watson YK Pathan 78 46 12 2 12 2
## 114 SR Watson DA Warner 68 40 12 4 8 2
## 115 SR Watson BJ Rohrer 24 12 2 0 4 0
## 117 SR Watson DA Miller 32 20 4 2 0 2
## 119 SR Watson AP Tare 38 18 4 0 4 2
## 129 SR Watson AD Russell 62 34 6 2 4 4
## 134 SR Watson CJ Anderson 32 12 2 0 4 2
## 135 SR Watson SN Khan 22 12 0 2 4 0
## 137 SR Watson LMP Simmons 24 14 4 0 2 2
## 140 SR Watson EJG Morgan 58 26 6 2 4 4
## 149 SR Watson JC Buttler 12 6 0 0 2 0
## 151 SR Watson R Bhatia 22 14 0 0 2 0
## 153 SR Watson KS Williamson 22 14 4 2 4 0
## 163 SR Watson ER Dwivedi 24 6 2 2 0 4
## 165 SR Watson BCJ Cutting 66 26 8 2 4 8
## Extras DotballPc StrikeRate
## 27 2 42.86 171.43
## 32 2 10.00 290.00
## 35 6 29.41 164.71
## 47 0 0.00 200.00
## 49 0 25.00 200.00
## 57 0 20.00 260.00
## 66 14 30.23 174.42
## 70 2 35.71 157.14
## 75 0 33.33 166.67
## 79 0 20.00 200.00
## 80 0 25.00 212.50
## 96 0 0.00 366.67
## 97 0 40.00 180.00
## 101 0 28.57 171.43
## 105 6 18.75 206.25
## 110 4 26.09 169.57
## 114 0 30.00 170.00
## 115 0 16.67 200.00
## 117 2 20.00 160.00
## 119 0 22.22 211.11
## 129 0 17.65 182.35
## 134 0 16.67 266.67
## 135 4 0.00 183.33
## 137 2 28.57 171.43
## 140 0 23.08 223.08
## 149 0 0.00 200.00
## 151 0 0.00 157.14
## 153 0 28.57 157.14
## 163 0 33.33 400.00
## 165 4 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 129 144 62 6 15 0
## 3 SR Watson S Dhawan 97 103 46 4 11 2
## 4 SR Watson K Goel 10 10 6 0 2 0
## 5 SR Watson JR Hopes 20 22 14 0 4 0
## 7 SR Watson IK Pathan 16 16 8 0 2 0
## 9 SR Watson WA Mota 2 2 0 0 0 0
## 11 SR Watson VVS Laxman 20 30 16 0 4 0
## 12 SR Watson A Symonds 24 32 14 0 4 0
## 14 SR Watson S Chanderpaul 2 14 12 2 0 0
## 15 SR Watson R Dravid 2 10 8 2 0 0
## 18 SR Watson P Kumar 12 18 6 2 2 0
## 19 SR Watson Z Khan 6 10 4 0 0 0
## 20 SR Watson R Vinay Kumar 2 2 0 0 0 0
## 21 SR Watson Salman Butt 26 30 16 0 4 0
## 22 SR Watson SC Ganguly 50 48 20 0 8 0
## 24 SR Watson BJ Hodge 0 2 2 0 0 0
## 25 SR Watson AB Dinda 0 2 2 2 0 0
## 29 SR Watson JA Morkel 38 42 20 2 2 2
## 30 SR Watson MS Gony 0 2 2 0 0 0
## 31 SR Watson M Ntini 0 14 12 0 0 0
## 33 SR Watson ST Jayasuriya 8 20 12 4 0 0
## 36 SR Watson AM Nayar 12 20 8 2 0 0
## 38 SR Watson SB Bangar 0 4 4 2 0 0
## 40 SR Watson Y Venugopal Rao 2 4 2 0 0 0
## 41 SR Watson TM Dilshan 28 28 16 2 6 0
## 43 SR Watson VY Mahesh 0 2 0 0 0 0
## 45 SR Watson LA Pomersbach 2 2 0 0 0 0
## 48 SR Watson LR Shukla 4 4 0 0 0 0
## 50 SR Watson Umar Gul 2 2 0 0 0 0
## 51 SR Watson SR Tendulkar 58 58 24 0 10 0
## 52 SR Watson RR Raje 2 2 0 0 0 0
## 53 SR Watson PA Patel 18 20 8 0 2 0
## 55 SR Watson CK Kapugedera 10 18 6 0 0 0
## 59 SR Watson DR Smith 58 62 30 0 6 2
## 60 SR Watson AA Bilakhia 2 2 0 0 0 0
## 62 SR Watson DPMD Jayawardene 16 32 20 2 2 0
## 63 SR Watson AT Rayudu 80 76 36 8 12 0
## 64 SR Watson SS Tiwary 26 34 18 2 4 0
## 67 SR Watson R Sathish 2 4 2 0 0 0
## 71 SR Watson CA Pujara 8 12 10 0 2 0
## 72 SR Watson MK Tiwary 8 10 8 0 2 0
## 73 SR Watson PC Valthaty 4 6 2 0 0 0
## 74 SR Watson R McLaren 4 4 0 0 0 0
## 76 SR Watson RA Jadeja 34 54 22 6 2 0
## 78 SR Watson M Muralitharan 8 10 2 0 0 0
## 81 SR Watson AG Murtaza 2 2 0 0 0 0
## 82 SR Watson Harpreet Singh 12 20 10 2 0 0
## 84 SR Watson NL McCullum 6 8 2 0 0 0
## 86 SR Watson CH Gayle 38 50 28 4 6 0
## 87 SR Watson V Kohli 38 52 24 2 0 2
## 89 SR Watson Y Nagar 2 6 4 0 0 0
## 90 SR Watson Mandeep Singh 12 22 8 2 0 0
## 91 SR Watson N Saini 0 8 8 0 0 0
## 92 SR Watson RJ Harris 2 6 4 0 0 0
## 94 SR Watson SPD Smith 6 10 0 0 0 0
## 95 SR Watson AD Mathews 26 28 12 2 2 0
## 98 SR Watson CJ Ferguson 2 4 2 0 0 0
## 99 SR Watson M Kartik 4 4 0 0 0 0
## 100 SR Watson R Sharma 0 6 4 2 0 0
## 102 SR Watson AB de Villiers 100 92 32 2 12 0
## 104 SR Watson GH Vihari 8 20 12 0 0 0
## 108 SR Watson MC Henriques 30 30 10 4 0 2
## 109 SR Watson R Rampaul 6 8 4 2 0 0
## 111 SR Watson AJ Finch 10 12 6 0 2 0
## 112 SR Watson MR Marsh 14 18 10 0 2 0
## 113 SR Watson CM Gautam 0 2 2 2 0 0
## 116 SR Watson DJ Hussey 0 4 4 2 0 0
## 118 SR Watson GJ Maxwell 0 4 4 2 0 0
## 120 SR Watson KD Karthik 48 50 16 0 6 0
## 121 SR Watson BB Samantray 18 22 8 0 2 0
## 122 SR Watson NLTC Perera 18 18 8 4 0 2
## 124 SR Watson R Ashwin 6 10 4 2 0 0
## 125 SR Watson S Rana 0 6 4 2 0 0
## 127 SR Watson Shakib Al Hasan 28 26 2 0 0 2
## 130 SR Watson KV Sharma 14 14 6 2 2 0
## 131 SR Watson DW Steyn 2 4 2 0 0 0
## 136 SR Watson D Wiese 4 4 0 0 0 0
## 138 SR Watson UBT Chand 8 10 4 0 0 0
## 139 SR Watson SS Iyer 0 2 2 2 0 0
## 142 SR Watson NV Ojha 4 8 4 0 0 0
## 143 SR Watson P Negi 2 2 0 0 0 0
## 144 SR Watson Azhar Mahmood 8 10 6 0 2 0
## 145 SR Watson UT Yadav 8 10 6 0 2 0
## 146 SR Watson A Ashish Reddy 6 10 4 2 0 0
## 147 SR Watson SV Samson 12 20 10 2 0 0
## 148 SR Watson KK Nair 22 24 12 0 0 2
## 152 SR Watson Ankit Sharma 0 2 2 0 0 0
## 154 SR Watson DJ Hooda 2 4 0 2 0 0
## 156 SR Watson GJ Bailey 0 4 2 2 0 0
## 157 SR Watson HM Amla 4 6 4 2 0 0
## 159 SR Watson F Behardien 4 6 2 0 0 0
## 160 SR Watson Gurkeerat Singh 6 12 6 0 0 0
## 161 SR Watson AR Patel 4 14 6 2 0 0
## 162 SR Watson J Yadav 4 8 4 0 0 0
## 166 SR Watson B Kumar 2 2 0 0 0 0
## Extras DotballPc StrikeRate
## 1 8 43.06 89.58
## 3 3 44.66 94.17
## 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 6 53.33 66.67
## 12 6 43.75 75.00
## 14 0 85.71 14.29
## 15 0 80.00 20.00
## 18 6 33.33 66.67
## 19 2 40.00 60.00
## 20 0 0.00 100.00
## 21 2 53.33 86.67
## 22 4 41.67 104.17
## 24 0 100.00 0.00
## 25 0 100.00 0.00
## 29 6 47.62 90.48
## 30 0 100.00 0.00
## 31 2 85.71 0.00
## 33 2 60.00 40.00
## 36 0 40.00 60.00
## 38 0 100.00 0.00
## 40 0 50.00 50.00
## 41 2 57.14 100.00
## 43 2 0.00 0.00
## 45 0 0.00 100.00
## 48 0 0.00 100.00
## 50 0 0.00 100.00
## 51 6 41.38 100.00
## 52 0 0.00 100.00
## 53 2 40.00 90.00
## 55 4 33.33 55.56
## 59 2 48.39 93.55
## 60 0 0.00 100.00
## 62 2 62.50 50.00
## 63 2 47.37 105.26
## 64 4 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 10 40.74 62.96
## 78 2 20.00 80.00
## 81 0 0.00 100.00
## 82 0 50.00 60.00
## 84 2 25.00 75.00
## 86 2 56.00 76.00
## 87 4 46.15 73.08
## 89 0 66.67 33.33
## 90 2 36.36 54.55
## 91 0 100.00 0.00
## 92 0 66.67 33.33
## 94 4 0.00 60.00
## 95 2 42.86 92.86
## 98 0 50.00 50.00
## 99 0 0.00 100.00
## 100 2 66.67 0.00
## 102 10 34.78 108.70
## 104 0 60.00 40.00
## 108 2 33.33 100.00
## 109 0 50.00 75.00
## 111 2 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 6 32.00 96.00
## 121 2 36.36 81.82
## 122 4 44.44 100.00
## 124 0 40.00 60.00
## 125 2 66.67 0.00
## 127 8 7.69 107.69
## 130 2 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 2 60.00 80.00
## 145 2 60.00 80.00
## 146 0 40.00 60.00
## 147 0 50.00 60.00
## 148 4 50.00 91.67
## 152 0 100.00 0.00
## 154 2 0.00 50.00
## 156 2 50.00 0.00
## 157 0 66.67 66.67
## 159 0 33.33 66.67
## 160 0 50.00 50.00
## 161 4 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
## 5 WA Mota SK Raina 2 10 5 5 0 0
## 7 A Nehra SK Raina 28 48 30 2 0 2
## 17 Mohammad Asif SK Raina 6 8 2 0 0 0
## 25 RP Singh SK Raina 52 54 20 2 4 2
## 26 SB Styris SK Raina 16 20 4 0 0 0
## 33 A Kumble SK Raina 26 42 10 0 0 0
## 41 KP Pietersen SK Raina 22 34 14 4 0 0
## 47 FH Edwards SK Raina 4 8 6 0 0 0
## 50 RG Sharma SK Raina 6 14 6 2 0 0
## 56 RJ Harris SK Raina 4 14 10 2 0 0
## 61 SM Harwood SK Raina 2 12 8 0 0 0
## 63 AB Agarkar SK Raina 20 32 14 0 2 0
## 65 BJ Hodge SK Raina 4 10 6 2 0 0
## 68 RE van der Merwe SK Raina 12 18 8 2 0 0
## 73 UT Yadav SK Raina 132 136 74 2 22 2
## 74 SJ Srivastava SK Raina 4 6 0 0 0 0
## 77 R McLaren SK Raina 10 14 2 0 0 0
## 95 R Sharma SK Raina 32 36 8 2 0 0
## 98 DT Christian SK Raina 26 28 14 2 4 0
## 100 J Botha SK Raina 38 42 16 0 0 0
## 106 M Muralitharan SK Raina 34 36 16 2 4 0
## 111 Ankit Sharma SK Raina 8 10 4 2 0 0
## 113 MN Samuels SK Raina 6 10 4 0 0 0
## 115 GB Hogg SK Raina 16 32 16 2 0 0
## 120 AA Jhunjhunwala SK Raina 10 12 4 0 0 0
## 122 AD Russell SK Raina 22 24 12 4 4 0
## 126 R Rampaul SK Raina 4 8 4 0 0 0
## 132 A Chandila SK Raina 6 10 4 0 0 0
## 141 R Dhawan SK Raina 6 10 2 0 0 0
## 142 GJ Maxwell SK Raina 8 18 8 2 0 0
## 145 JDS Neesham SK Raina 22 26 10 2 2 0
## 147 PV Tambe SK Raina 8 20 14 0 0 0
## 154 PJ Cummins SK Raina 6 20 12 0 0 0
## 155 Parvez Rasool SK Raina 8 10 2 0 0 0
## 157 NM Coulter-Nile SK Raina 8 14 10 2 0 0
## 158 RS Bopara SK Raina 6 8 2 2 0 0
## 160 CH Morris SK Raina 24 36 20 6 2 0
## 162 HV Patel SK Raina 42 58 30 2 6 0
## 164 Karanveer Singh SK Raina 0 6 4 0 0 0
## 166 MC Henriques SK Raina 22 26 6 2 0 0
## 171 BE Hendricks SK Raina 6 10 2 0 0 0
## 177 R Ashwin SK Raina 24 34 12 0 0 0
## 178 M Ashwin SK Raina 20 24 8 2 0 0
## 179 TG Southee SK Raina 2 8 6 0 0 0
## Extras DotballPc StrikeRate
## 5 3 50.00 20.00
## 7 2 62.50 58.33
## 17 0 25.00 75.00
## 25 4 37.04 96.30
## 26 0 20.00 80.00
## 33 8 23.81 61.90
## 41 0 41.18 64.71
## 47 0 75.00 50.00
## 50 2 42.86 42.86
## 56 0 71.43 28.57
## 61 2 66.67 16.67
## 63 4 43.75 62.50
## 65 0 60.00 40.00
## 68 0 44.44 66.67
## 73 12 54.41 97.06
## 74 2 0.00 66.67
## 77 2 14.29 71.43
## 95 0 22.22 88.89
## 98 0 50.00 92.86
## 100 2 38.10 90.48
## 106 0 44.44 94.44
## 111 0 40.00 80.00
## 113 0 40.00 60.00
## 115 0 50.00 50.00
## 120 0 33.33 83.33
## 122 2 50.00 91.67
## 126 0 50.00 50.00
## 132 0 40.00 60.00
## 141 2 20.00 60.00
## 142 4 44.44 44.44
## 145 2 38.46 84.62
## 147 0 70.00 40.00
## 154 2 60.00 30.00
## 155 0 20.00 80.00
## 157 0 71.43 57.14
## 158 0 25.00 75.00
## 160 2 55.56 66.67
## 162 8 51.72 72.41
## 164 2 66.67 0.00
## 166 0 23.08 84.62
## 171 2 20.00 60.00
## 177 4 35.29 70.59
## 178 0 33.33 83.33
## 179 0 75.00 25.00
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 39 17 3 0 0 5
## 2 IK Pathan SK Raina 135 88 38 2 15 8
## 3 K Goel SK Raina 30 17 2 0 0 3
## 4 PP Chawla SK Raina 296 164 49 8 25 19
## 10 DJ Bravo SK Raina 110 66 22 8 6 10
## 11 VS Yeligati SK Raina 18 8 0 0 4 0
## 12 AM Nayar SK Raina 42 28 6 0 2 2
## 14 P Kumar SK Raina 170 94 22 6 12 10
## 16 B Akhil SK Raina 30 20 6 0 2 2
## 19 Sohail Tanvir SK Raina 48 28 12 0 6 2
## 20 MM Patel SK Raina 126 74 18 4 14 4
## 21 SK Trivedi SK Raina 184 112 12 2 20 2
## 24 DP Vijaykumar SK Raina 42 22 6 0 6 2
## 29 PP Ojha SK Raina 136 90 12 4 2 8
## 31 VRV Singh SK Raina 56 36 10 0 2 6
## 34 R Vinay Kumar SK Raina 196 124 42 2 18 12
## 36 PM Sarvesh Kumar SK Raina 18 10 4 0 4 0
## 38 SR Watson SK Raina 106 74 22 4 14 2
## 40 Z Khan SK Raina 122 74 22 4 14 6
## 45 DL Vettori SK Raina 58 36 10 0 8 2
## 46 MK Tiwary SK Raina 16 6 0 0 0 2
## 48 DR Smith SK Raina 90 32 4 0 10 6
## 49 Y Venugopal Rao SK Raina 12 6 0 0 2 0
## 51 AD Mascarenhas SK Raina 24 14 8 0 2 2
## 52 Kamran Khan SK Raina 40 16 0 0 2 4
## 58 TL Suman SK Raina 42 14 0 0 2 4
## 59 YA Abdulla SK Raina 22 12 2 0 4 0
## 60 A Singh SK Raina 54 30 10 4 6 2
## 62 AB Dinda SK Raina 112 72 18 2 16 2
## 66 BAW Mendis SK Raina 42 16 0 0 2 4
## 69 WPUJC Vaas SK Raina 12 6 4 2 0 2
## 70 I Sharma SK Raina 126 72 12 2 14 4
## 71 AD Mathews SK Raina 64 36 8 0 8 2
## 75 J Theron SK Raina 20 12 4 4 0 2
## 84 Iqbal Abdulla SK Raina 110 60 14 0 8 8
## 85 CRD Fernando SK Raina 16 10 2 0 4 0
## 86 KA Pollard SK Raina 146 96 12 2 12 6
## 88 S Ladda SK Raina 10 6 2 0 2 0
## 89 JJ van der Wath SK Raina 12 8 0 0 2 0
## 90 R Ninan SK Raina 40 20 4 2 4 2
## 91 NLTC Perera SK Raina 84 56 12 4 8 2
## 92 RV Gomez SK Raina 32 14 4 0 4 2
## 94 JE Taylor SK Raina 28 14 8 0 0 4
## 99 ND Doshi SK Raina 22 6 0 0 2 2
## 104 AB McDonald SK Raina 20 10 6 0 2 2
## 108 A Mithun SK Raina 34 24 10 0 0 4
## 112 MS Gony SK Raina 40 16 2 0 2 4
## 114 KK Cooper SK Raina 38 26 10 4 4 2
## 116 P Awana SK Raina 102 48 10 2 14 4
## 117 Azhar Mahmood SK Raina 44 28 12 2 2 4
## 118 SP Narine SK Raina 130 86 26 2 6 8
## 119 V Pratap Singh SK Raina 34 14 4 0 2 4
## 121 M Morkel SK Raina 64 42 10 0 4 4
## 123 P Negi SK Raina 32 20 6 2 2 2
## 129 S Nadeem SK Raina 32 20 4 0 0 2
## 130 V Sehwag SK Raina 12 6 0 0 2 0
## 131 SMSM Senanayake SK Raina 12 8 4 0 2 0
## 135 DJG Sammy SK Raina 40 22 2 0 6 0
## 137 KW Richardson SK Raina 48 32 4 0 4 2
## 139 R Sathish SK Raina 32 12 0 0 6 0
## 140 AR Patel SK Raina 64 42 4 0 8 0
## 146 M Vijay SK Raina 26 10 2 0 6 0
## 148 WD Parnell SK Raina 34 12 0 0 4 2
## 149 Sandeep Sharma SK Raina 110 54 18 0 8 8
## 153 S Rana SK Raina 26 18 6 0 4 0
## 156 CJ Anderson SK Raina 10 6 0 0 2 0
## 169 JA Morkel SK Raina 12 6 2 0 2 0
## 172 Gurkeerat Singh SK Raina 34 22 6 0 4 0
## 173 MJ McClenaghan SK Raina 68 36 14 2 12 2
## 174 HH Pandya SK Raina 40 22 4 0 4 2
## 175 MM Sharma SK Raina 26 16 6 2 2 2
## 180 KH Pandya SK Raina 32 16 2 0 6 0
## 181 BB Sran SK Raina 38 26 4 0 4 0
## 182 Mustafizur Rahman SK Raina 18 12 0 0 2 0
## 183 Bipul Sharma SK Raina 14 8 0 0 2 0
## 186 AS Rajpoot SK Raina 34 24 4 0 6 0
## 187 JO Holder SK Raina 20 12 4 0 4 0
## Extras DotballPc StrikeRate
## 1 0 17.65 229.41
## 2 4 43.18 153.41
## 3 0 11.76 176.47
## 4 2 29.88 180.49
## 10 4 33.33 166.67
## 11 10 0.00 225.00
## 12 0 21.43 150.00
## 14 2 23.40 180.85
## 16 0 30.00 150.00
## 19 0 42.86 171.43
## 20 0 24.32 170.27
## 21 8 10.71 164.29
## 24 2 27.27 190.91
## 29 4 13.33 151.11
## 31 8 27.78 155.56
## 34 8 33.87 158.06
## 36 0 40.00 180.00
## 38 2 29.73 143.24
## 40 6 29.73 164.86
## 45 2 27.78 161.11
## 46 0 0.00 266.67
## 48 0 12.50 281.25
## 49 0 0.00 200.00
## 51 0 57.14 171.43
## 52 4 0.00 250.00
## 58 0 0.00 300.00
## 59 0 16.67 183.33
## 60 0 33.33 180.00
## 62 6 25.00 155.56
## 66 0 0.00 262.50
## 69 0 66.67 200.00
## 70 6 16.67 175.00
## 71 0 22.22 177.78
## 75 0 33.33 166.67
## 84 2 23.33 183.33
## 85 4 20.00 160.00
## 86 14 12.50 152.08
## 88 0 33.33 166.67
## 89 2 0.00 150.00
## 90 0 20.00 200.00
## 91 6 21.43 150.00
## 92 0 28.57 228.57
## 94 0 57.14 200.00
## 99 0 0.00 366.67
## 104 0 60.00 200.00
## 108 4 41.67 141.67
## 112 0 12.50 250.00
## 114 0 38.46 146.15
## 116 6 20.83 212.50
## 117 0 42.86 157.14
## 118 0 30.23 151.16
## 119 2 28.57 242.86
## 121 2 23.81 152.38
## 123 0 30.00 160.00
## 129 0 20.00 160.00
## 130 0 0.00 200.00
## 131 0 50.00 150.00
## 135 4 9.09 181.82
## 137 4 12.50 150.00
## 139 0 0.00 266.67
## 140 0 9.52 152.38
## 146 0 20.00 260.00
## 148 0 0.00 283.33
## 149 0 33.33 203.70
## 153 0 33.33 144.44
## 156 2 0.00 166.67
## 169 0 33.33 200.00
## 172 0 27.27 154.55
## 173 0 38.89 188.89
## 174 2 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
## 183 0 0.00 175.00
## 186 14 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 18 24 6 0 0 0
## 5 DJ Bravo DA Warner 24 24 6 0 0 0
## 9 AN Ahmed DA Warner 16 14 8 0 0 2
## 10 DJG Sammy DA Warner 4 4 0 0 0 0
## 13 CH Morris DA Warner 38 34 20 0 8 0
## 15 DS Kulkarni DA Warner 4 10 6 0 0 0
## 16 NM Coulter-Nile DA Warner 26 26 14 2 0 2
## 17 JP Duminy DA Warner 4 12 4 2 0 0
## 27 Sandeep Sharma DA Warner 52 48 30 0 10 0
## 30 M Vijay DA Warner 12 16 6 0 0 0
## 33 SK Raina DA Warner 2 6 4 2 0 0
## 36 Z Khan DA Warner 8 12 6 0 0 0
## 39 GJ Maxwell DA Warner 6 14 6 0 0 0
## 42 AB Dinda DA Warner 14 14 2 0 0 0
## 43 MJ McClenaghan DA Warner 0 2 2 2 0 0
## Extras DotballPc StrikeRate
## 4 2 25.00 75.00
## 5 2 25.00 100.00
## 9 0 57.14 114.29
## 10 0 0.00 100.00
## 13 10 58.82 111.76
## 15 0 60.00 40.00
## 16 0 53.85 100.00
## 17 6 33.33 33.33
## 27 0 62.50 108.33
## 30 0 37.50 75.00
## 33 0 66.67 33.33
## 36 2 50.00 66.67
## 39 2 42.86 42.86
## 42 2 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 50 28 4 0 8 0
## 2 MM Sharma DA Warner 78 30 4 0 10 4
## 3 IC Pandey DA Warner 36 22 8 2 2 4
## 6 SA Abbott DA Warner 14 6 0 0 2 0
## 7 HV Patel DA Warner 48 18 4 0 8 2
## 8 VR Aaron DA Warner 30 14 6 0 4 2
## 11 YS Chahal DA Warner 44 20 4 2 2 4
## 14 DJ Hooda DA Warner 16 8 4 0 4 0
## 18 DJ Muthuswami DA Warner 40 16 4 0 8 0
## 20 M Morkel DA Warner 30 16 4 2 6 0
## 21 SP Narine DA Warner 52 32 12 0 2 4
## 22 YK Pathan DA Warner 28 14 2 0 2 2
## 24 PP Chawla DA Warner 10 4 0 0 2 0
## 28 MG Johnson DA Warner 48 14 0 0 8 2
## 29 Anureet Singh DA Warner 48 28 12 0 8 2
## 32 RG More DA Warner 20 8 0 0 4 0
## 34 SR Watson DA Warner 16 6 2 2 4 0
## 38 Gurkeerat Singh DA Warner 38 20 6 0 4 2
## 41 D Wiese DA Warner 22 12 2 0 4 0
## Extras DotballPc StrikeRate
## 1 0 14.29 178.57
## 2 2 13.33 260.00
## 3 10 36.36 163.64
## 6 0 0.00 233.33
## 7 2 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 2 37.50 162.50
## 22 0 14.29 200.00
## 24 0 0.00 250.00
## 28 0 0.00 342.86
## 29 2 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 206 116 38 4 18 12
## 12 DW Steyn SE Marsh 88 52 12 0 14 2
## 18 DW Steyn BJ Hodge 90 48 10 2 18 0
## 28 DW Steyn AB de Villiers 110 46 10 4 6 10
## 30 DW Steyn MF Maharoof 14 8 2 0 0 2
## 41 DW Steyn A Flintoff 28 16 2 0 2 2
## 44 DW Steyn MK Tiwary 72 44 12 2 10 2
## 52 DW Steyn YK Pathan 164 98 28 4 20 6
## 57 DW Steyn GJ Bailey 54 30 10 0 4 4
## 58 DW Steyn S Badrinath 16 8 4 0 4 0
## 62 DW Steyn AB McDonald 16 6 0 0 2 0
## 64 DW Steyn KC Sangakkara 10 6 2 2 2 0
## 76 DW Steyn JP Duminy 48 30 10 2 6 2
## 78 DW Steyn SS Tiwary 18 10 2 0 0 2
## 107 DW Steyn PP Chawla 36 20 2 2 6 0
## 117 DW Steyn MJ Clarke 24 8 2 0 6 0
## 138 DW Steyn UBT Chand 16 10 4 2 4 0
## 141 DW Steyn KK Cooper 22 10 2 2 4 0
## 153 DW Steyn BR Dunk 10 6 2 0 2 0
## 156 DW Steyn KK Nair 16 10 6 2 4 0
## 161 DW Steyn M Vohra 40 16 4 0 0 4
## 163 DW Steyn S Rana 14 8 2 2 2 0
## Extras DotballPc StrikeRate
## 3 4 32.76 177.59
## 12 14 23.08 169.23
## 18 8 20.83 187.50
## 28 2 21.74 239.13
## 30 2 25.00 175.00
## 41 2 12.50 175.00
## 44 0 27.27 163.64
## 52 6 28.57 167.35
## 57 0 33.33 180.00
## 58 0 50.00 200.00
## 62 0 0.00 266.67
## 64 0 33.33 166.67
## 76 0 33.33 160.00
## 78 0 20.00 180.00
## 107 0 10.00 180.00
## 117 0 25.00 300.00
## 138 2 40.00 160.00
## 141 0 20.00 220.00
## 153 0 33.33 166.67
## 156 0 60.00 160.00
## 161 0 25.00 250.00
## 163 0 25.00 175.00
steyn[steyn$StrikeRate < 100,]
## Bowler Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 2 DW Steyn ML Hayden 30 62 28 0 2 0
## 5 DW Steyn V Sehwag 66 74 34 4 10 0
## 6 DW Steyn Shoaib Malik 0 2 2 2 0 0
## 7 DW Steyn KD Karthik 28 32 12 6 0 2
## 8 DW Steyn AC Gilchrist 100 112 46 2 10 2
## 9 DW Steyn HH Gibbs 48 50 26 2 8 0
## 10 DW Steyn AS Yadav 0 6 6 4 0 0
## 11 DW Steyn RP Singh 2 8 6 4 0 0
## 15 DW Steyn DPMD Jayawardene 48 70 46 0 6 2
## 16 DW Steyn IK Pathan 16 32 18 4 2 0
## 17 DW Steyn A Chopra 2 8 6 2 0 0
## 19 DW Steyn SC Ganguly 72 76 38 0 10 2
## 20 DW Steyn T Taibu 0 2 2 2 0 0
## 24 DW Steyn ST Jayasuriya 2 32 22 4 0 0
## 27 DW Steyn LA Pomersbach 10 18 8 0 0 0
## 29 DW Steyn S Dhawan 20 24 10 2 2 0
## 32 DW Steyn JA Morkel 18 26 12 4 2 0
## 33 DW Steyn S Vidyut 0 6 6 2 0 0
## 34 DW Steyn L Balaji 0 6 4 2 0 0
## 35 DW Steyn M Ntini 0 6 6 0 0 0
## 36 DW Steyn VVS Laxman 16 22 12 0 2 0
## 37 DW Steyn RG Sharma 74 94 42 2 8 0
## 39 DW Steyn NK Patel 4 24 14 0 0 0
## 40 DW Steyn T Henderson 0 4 4 0 0 0
## 42 DW Steyn Y Venugopal Rao 4 10 6 0 0 0
## 47 DW Steyn MS Bisla 72 90 48 0 12 0
## 48 DW Steyn Yuvraj Singh 40 46 12 2 2 0
## 49 DW Steyn NV Ojha 28 38 20 0 2 0
## 50 DW Steyn MJ Lumb 4 14 8 0 0 0
## 51 DW Steyn DR Martyn 4 6 2 0 0 0
## 53 DW Steyn AP Tare 16 22 10 2 2 0
## 54 DW Steyn R Sathish 4 12 8 2 0 0
## 55 DW Steyn KA Pollard 76 90 40 2 4 2
## 63 DW Steyn M Vijay 44 58 32 0 4 0
## 68 DW Steyn AB Agarkar 2 4 2 0 0 0
## 69 DW Steyn MD Mishra 4 12 6 0 0 0
## 70 DW Steyn SR Watson 18 36 24 0 2 0
## 71 DW Steyn AA Jhunjhunwala 0 2 2 0 0 0
## 72 DW Steyn AC Voges 10 14 10 0 2 0
## 73 DW Steyn AS Raut 4 8 4 0 0 0
## 74 DW Steyn R McLaren 8 16 8 0 0 0
## 77 DW Steyn AM Nayar 18 20 8 2 2 0
## 79 DW Steyn Anirudh Singh 18 28 18 0 4 0
## 80 DW Steyn DR Smith 54 72 48 0 10 0
## 81 DW Steyn AG Paunikar 16 18 12 2 4 0
## 83 DW Steyn J Botha 26 32 18 2 4 0
## 86 DW Steyn MA Agarwal 32 34 18 2 4 0
## 87 DW Steyn TM Dilshan 26 48 32 2 2 0
## 88 DW Steyn Z Khan 0 14 14 4 0 0
## 89 DW Steyn JJ van der Wath 0 2 2 2 0 0
## 90 DW Steyn R Ninan 4 8 2 0 0 0
## 91 DW Steyn DL Vettori 2 6 2 0 0 0
## 92 DW Steyn PC Valthaty 30 36 24 2 6 0
## 94 DW Steyn DJ Jacobs 0 4 4 0 0 0
## 102 DW Steyn MK Pandey 42 48 22 0 6 0
## 105 DW Steyn WD Parnell 2 4 0 0 0 0
## 106 DW Steyn P Kumar 2 18 14 2 0 0
## 109 DW Steyn DJ Bravo 8 14 6 0 0 0
## 110 DW Steyn RE Levi 2 16 14 4 0 0
## 111 DW Steyn JEC Franklin 6 20 10 0 0 0
## 112 DW Steyn KP Pietersen 30 36 18 2 4 0
## 113 DW Steyn AM Rahane 36 64 42 4 4 0
## 114 DW Steyn AL Menaria 4 10 6 0 0 0
## 116 DW Steyn DB Das 2 4 2 0 0 0
## 119 DW Steyn N Saini 2 10 6 0 0 0
## 120 DW Steyn Mandeep Singh 4 10 6 2 0 0
## 122 DW Steyn DJ Hussey 24 26 14 0 4 0
## 123 DW Steyn SD Chitnis 0 2 2 2 0 0
## 125 DW Steyn OA Shah 12 14 4 0 0 0
## 127 DW Steyn AD Mathews 6 10 4 0 0 0
## 128 DW Steyn B Kumar 0 2 2 2 0 0
## 129 DW Steyn R Sharma 0 2 2 2 0 0
## 130 DW Steyn AB Dinda 0 4 4 2 0 0
## 132 DW Steyn S Nadeem 0 2 2 2 0 0
## 133 DW Steyn UT Yadav 6 18 12 0 0 0
## 134 DW Steyn AD Mascarenhas 2 4 2 0 0 0
## 135 DW Steyn MEK Hussey 16 26 14 0 2 0
## 136 DW Steyn CH Morris 0 2 2 0 0 0
## 140 DW Steyn Harmeet Singh 6 8 4 0 0 0
## 142 DW Steyn PV Tambe 8 16 6 0 0 0
## 143 DW Steyn SK Trivedi 0 2 2 0 0 0
## 144 DW Steyn RN ten Doeschate 6 14 6 0 0 0
## 145 DW Steyn P Dogra 0 2 2 2 0 0
## 147 DW Steyn SV Samson 30 34 20 2 2 2
## 148 DW Steyn JP Faulkner 14 16 8 0 2 0
## 149 DW Steyn R Bhatia 10 12 6 2 2 0
## 150 DW Steyn GJ Maxwell 14 16 6 0 2 0
## 151 DW Steyn MG Johnson 0 6 2 0 0 0
## 154 DW Steyn CJ Anderson 0 8 8 2 0 0
## 155 DW Steyn MA Starc 6 10 4 0 0 0
## 158 DW Steyn R Shukla 4 6 2 0 0 0
## 162 DW Steyn DA Miller 6 10 6 0 0 0
## Extras DotballPc StrikeRate
## 2 16 45.16 48.39
## 5 6 45.95 89.19
## 6 0 100.00 0.00
## 7 2 37.50 87.50
## 8 14 41.07 89.29
## 9 2 52.00 96.00
## 10 0 100.00 0.00
## 11 0 75.00 25.00
## 15 4 65.71 68.57
## 16 4 56.25 50.00
## 17 0 75.00 25.00
## 19 8 50.00 94.74
## 20 0 100.00 0.00
## 24 8 68.75 6.25
## 27 2 44.44 55.56
## 29 2 41.67 83.33
## 32 4 46.15 69.23
## 33 0 100.00 0.00
## 34 2 66.67 0.00
## 35 0 100.00 0.00
## 36 0 54.55 72.73
## 37 6 44.68 78.72
## 39 6 58.33 16.67
## 40 0 100.00 0.00
## 42 0 60.00 40.00
## 47 18 53.33 80.00
## 48 8 26.09 86.96
## 49 4 52.63 73.68
## 50 2 57.14 28.57
## 51 0 33.33 66.67
## 53 4 45.45 72.73
## 54 0 66.67 33.33
## 55 6 44.44 84.44
## 63 2 55.17 75.86
## 68 0 50.00 50.00
## 69 2 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 4 64.29 64.29
## 80 2 66.67 75.00
## 81 2 66.67 88.89
## 83 0 56.25 81.25
## 86 2 52.94 94.12
## 87 10 66.67 54.17
## 88 0 100.00 0.00
## 89 0 100.00 0.00
## 90 2 25.00 50.00
## 91 2 33.33 33.33
## 92 2 66.67 83.33
## 94 0 100.00 0.00
## 102 2 45.83 87.50
## 105 2 0.00 50.00
## 106 2 77.78 11.11
## 109 2 42.86 57.14
## 110 0 87.50 12.50
## 111 4 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 2 60.00 20.00
## 120 0 60.00 40.00
## 122 0 53.85 92.31
## 123 0 100.00 0.00
## 125 2 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 2 66.67 33.33
## 134 0 50.00 50.00
## 135 2 53.85 61.54
## 136 0 100.00 0.00
## 140 0 50.00 75.00
## 142 2 37.50 50.00
## 143 0 100.00 0.00
## 144 8 42.86 42.86
## 145 0 100.00 0.00
## 147 0 58.82 88.24
## 148 0 50.00 87.50
## 149 2 50.00 83.33
## 150 2 37.50 87.50
## 151 4 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 69 78 21 4 6 0
## 6 SK Trivedi IK Pathan 26 42 20 2 0 0
## 7 SK Trivedi B Lee 0 4 4 2 0 0
## 8 SK Trivedi PP Chawla 18 20 6 2 0 0
## 16 SK Trivedi P Kumar 10 14 10 0 2 0
## 19 SK Trivedi BJ Hodge 18 22 10 0 2 0
## 21 SK Trivedi DB Das 8 10 2 0 0 0
## 22 SK Trivedi WP Saha 2 4 2 2 0 0
## 26 SK Trivedi JA Morkel 4 10 6 0 0 0
## 31 SK Trivedi SB Styris 2 4 2 0 0 0
## 34 SK Trivedi DB Ravi Teja 12 18 8 0 0 0
## 38 SK Trivedi A Mishra 28 34 14 2 2 0
## 39 SK Trivedi MF Maharoof 14 16 8 0 2 0
## 42 SK Trivedi DT Patil 6 10 4 0 0 0
## 43 SK Trivedi LR Shukla 14 24 20 2 0 2
## 54 SK Trivedi S Sreesanth 8 12 10 0 2 0
## 56 SK Trivedi ML Hayden 10 12 2 0 0 0
## 59 SK Trivedi AM Rahane 4 8 4 0 0 0
## 60 SK Trivedi JP Duminy 48 56 18 4 0 2
## 61 SK Trivedi CA Pujara 20 24 10 2 2 0
## 63 SK Trivedi RS Bopara 12 20 6 0 0 0
## 66 SK Trivedi KB Arun Karthik 2 6 2 0 0 0
## 67 SK Trivedi T Thushara 4 6 2 0 0 0
## 68 SK Trivedi KM Jadhav 22 30 14 2 2 0
## 70 SK Trivedi Anirudh Singh 6 10 4 0 0 0
## 71 SK Trivedi RP Singh 2 8 4 4 0 0
## 73 SK Trivedi KA Pollard 20 38 14 0 0 0
## 76 SK Trivedi B Chipli 10 14 10 2 2 0
## 77 SK Trivedi DT Christian 6 14 6 2 0 0
## 78 SK Trivedi DW Steyn 2 4 2 0 0 0
## 84 SK Trivedi R McLaren 0 10 8 0 0 0
## 86 SK Trivedi NLTC Perera 2 4 2 2 0 0
## 87 SK Trivedi RV Gomez 0 2 2 2 0 0
## 88 SK Trivedi M Muralitharan 0 4 2 0 0 0
## 90 SK Trivedi Harpreet Singh 8 10 2 0 0 0
## 93 SK Trivedi R Sharma 0 2 2 2 0 0
## 96 SK Trivedi Mandeep Singh 14 16 6 0 2 0
## 97 SK Trivedi YK Pathan 44 50 16 2 4 0
## 103 SK Trivedi M Kaif 10 12 2 0 0 0
## 104 SK Trivedi DL Vettori 2 4 2 2 0 0
## 107 SK Trivedi MA Agarwal 4 8 4 0 0 0
## 109 SK Trivedi Gurkeerat Singh 18 22 6 2 0 0
## 112 SK Trivedi DJ Bravo 4 10 6 2 0 0
## 113 SK Trivedi CJ Ferguson 4 6 2 0 0 0
## 116 SK Trivedi CL White 16 22 10 2 2 0
## 117 SK Trivedi CA Lynn 2 4 2 2 0 0
## 122 SK Trivedi A Mukund 2 6 4 2 0 0
## 123 SK Trivedi MC Henriques 0 2 0 0 0 0
## 125 SK Trivedi GH Vihari 10 12 6 2 0 0
## 126 SK Trivedi BB Samantray 18 22 6 0 0 0
## Extras DotballPc StrikeRate
## 1 10 26.92 88.46
## 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 4 41.18 82.35
## 39 2 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 12 32.14 85.71
## 61 0 41.67 83.33
## 63 2 30.00 60.00
## 66 2 33.33 33.33
## 67 0 33.33 66.67
## 68 2 46.67 73.33
## 70 0 40.00 60.00
## 71 2 50.00 25.00
## 73 4 36.84 52.63
## 76 0 71.43 71.43
## 77 2 42.86 42.86
## 78 0 50.00 50.00
## 84 4 80.00 0.00
## 86 0 50.00 50.00
## 87 0 100.00 0.00
## 88 2 50.00 0.00
## 90 0 20.00 80.00
## 93 0 100.00 0.00
## 96 2 37.50 87.50
## 97 4 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 4 45.45 72.73
## 117 0 50.00 50.00
## 122 0 66.67 33.33
## 123 2 0.00 0.00
## 125 0 50.00 83.33
## 126 2 27.27 81.82
trivedi[trivedi$StrikeRate > 150,]
## Bowler Batsman Runs Balls Dotballs Dismissals Fours Sixes
## 3 SK Trivedi JR Hopes 34 14 0 0 6 0
## 10 SK Trivedi A Symonds 86 42 4 2 8 4
## 17 SK Trivedi Z Khan 18 10 4 0 4 0
## 24 SK Trivedi SK Raina 184 112 12 2 20 2
## 37 SK Trivedi TM Dilshan 108 64 20 0 12 6
## 41 SK Trivedi R Dravid 42 18 2 0 6 2
## 55 SK Trivedi M Vijay 58 32 10 4 4 4
## 58 SK Trivedi Y Venugopal Rao 52 22 2 2 4 4
## 62 SK Trivedi OA Shah 14 6 2 0 0 2
## 65 SK Trivedi HH Gibbs 10 4 0 0 2 0
## 69 SK Trivedi AB McDonald 16 10 2 0 2 0
## 83 SK Trivedi PC Valthaty 48 16 6 0 6 4
## 92 SK Trivedi NL McCullum 16 6 0 0 0 2
## 98 SK Trivedi R Bhatia 26 16 6 2 4 0
## 127 SK Trivedi AP Tare 16 10 4 0 0 2
## Extras DotballPc StrikeRate
## 3 0 0.00 242.86
## 10 2 9.52 204.76
## 17 0 40.00 180.00
## 24 8 10.71 164.29
## 37 4 31.25 168.75
## 41 4 11.11 233.33
## 55 2 31.25 181.25
## 58 2 9.09 236.36
## 62 0 33.33 233.33
## 65 0 0.00 250.00
## 69 0 20.00 160.00
## 83 2 37.50 300.00
## 92 2 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 48 30 12 0 0 6
## 4 IK Pathan MEK Hussey 142 84 25 4 15 6
## 5 K Goel MEK Hussey 51 27 6 0 3 3
## 7 WA Mota MEK Hussey 51 18 0 0 6 3
## 9 DS Kulkarni MEK Hussey 54 38 12 2 2 4
## 12 JH Kallis MEK Hussey 124 80 18 4 8 6
## 13 B Akhil MEK Hussey 36 24 8 0 0 4
## 18 R Sathish MEK Hussey 40 20 2 0 6 0
## 25 JJ van der Wath MEK Hussey 44 24 4 0 6 0
## 32 NL McCullum MEK Hussey 16 8 2 0 0 2
## 40 I Sharma MEK Hussey 76 42 10 0 10 2
## 41 A Mishra MEK Hussey 88 50 14 2 10 4
## 43 ND Doshi MEK Hussey 18 10 2 0 0 2
## 48 STR Binny MEK Hussey 78 46 6 2 12 0
## 49 AL Menaria MEK Hussey 48 26 2 0 8 0
## 51 YK Pathan MEK Hussey 74 52 8 0 4 2
## 54 A Singh MEK Hussey 28 14 4 0 6 0
## 60 J Syed Mohammad MEK Hussey 48 22 4 2 2 4
## 61 A Mithun MEK Hussey 24 12 0 0 2 0
## 67 VR Aaron MEK Hussey 28 16 8 2 2 2
## 72 Sunny Gupta MEK Hussey 16 10 0 0 2 0
## 75 Shakib Al Hasan MEK Hussey 30 20 8 0 2 2
## 77 Azhar Mahmood MEK Hussey 40 24 4 0 2 2
## 78 P Awana MEK Hussey 48 32 12 0 8 0
## 80 S Nadeem MEK Hussey 48 34 2 0 0 4
## 81 AB Agarkar MEK Hussey 32 22 4 0 2 2
## 84 R Shukla MEK Hussey 38 16 2 0 8 0
## 86 KK Cooper MEK Hussey 60 38 8 2 10 0
## 87 DJG Sammy MEK Hussey 44 20 2 0 2 4
## 93 MS Gony MEK Hussey 24 10 0 0 4 0
## 95 NLTC Perera MEK Hussey 22 12 2 2 4 0
## 97 S Kaul MEK Hussey 36 24 8 0 6 0
## 103 JD Unadkat MEK Hussey 24 16 2 2 4 0
## 105 Ankit Sharma MEK Hussey 36 22 4 2 0 2
## 110 Imran Tahir MEK Hussey 18 10 2 0 0 2
## 111 MM Sharma MEK Hussey 20 12 4 0 4 0
## 112 R Ashwin MEK Hussey 22 14 6 0 0 2
## 116 YS Chahal MEK Hussey 42 24 6 0 0 4
## Extras DotballPc StrikeRate
## 3 3 40.00 160.00
## 4 2 29.76 169.05
## 5 0 22.22 188.89
## 7 0 0.00 283.33
## 9 4 31.58 142.11
## 12 4 22.50 155.00
## 13 0 33.33 150.00
## 18 2 10.00 200.00
## 25 0 16.67 183.33
## 32 0 25.00 200.00
## 40 2 23.81 180.95
## 41 2 28.00 176.00
## 43 0 20.00 180.00
## 48 4 13.04 169.57
## 49 4 7.69 184.62
## 51 2 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
## 72 0 0.00 160.00
## 75 0 40.00 150.00
## 77 0 16.67 166.67
## 78 0 37.50 150.00
## 80 4 5.88 141.18
## 81 2 18.18 145.45
## 84 0 12.50 237.50
## 86 2 21.05 157.89
## 87 2 10.00 220.00
## 93 0 0.00 240.00
## 95 0 16.67 183.33
## 97 0 33.33 150.00
## 103 2 12.50 150.00
## 105 0 18.18 163.64
## 110 0 20.00 180.00
## 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 18 40 26 2 0 0
## 10 Z Khan MEK Hussey 62 72 32 8 6 2
## 15 Harbhajan Singh MEK Hussey 78 92 42 2 6 2
## 19 RG Sharma MEK Hussey 10 12 2 0 0 0
## 21 PP Ojha MEK Hussey 34 38 10 2 2 0
## 26 R Ninan MEK Hussey 10 10 2 0 0 0
## 28 RP Singh MEK Hussey 56 52 30 2 12 0
## 29 R Vinay Kumar MEK Hussey 40 46 26 4 2 2
## 31 AN Ahmed MEK Hussey 4 6 0 0 0 0
## 33 JE Taylor MEK Hussey 24 28 12 2 4 0
## 34 AC Thomas MEK Hussey 30 36 16 0 4 0
## 35 M Kartik MEK Hussey 30 30 12 2 4 0
## 37 Yuvraj Singh MEK Hussey 10 10 0 0 0 0
## 38 JP Duminy MEK Hussey 26 28 8 0 2 0
## 39 DT Christian MEK Hussey 18 18 4 0 0 0
## 42 Harmeet Singh MEK Hussey 6 12 6 2 0 0
## 44 J Botha MEK Hussey 58 66 26 2 6 0
## 50 Iqbal Abdulla MEK Hussey 6 20 12 0 0 0
## 55 M Muralitharan MEK Hussey 16 16 6 0 2 0
## 57 RA Jadeja MEK Hussey 18 24 8 4 0 0
## 59 CH Gayle MEK Hussey 4 12 4 0 0 0
## 62 SP Narine MEK Hussey 74 88 40 8 6 0
## 63 Pankaj Singh MEK Hussey 12 14 8 0 2 0
## 64 SW Tait MEK Hussey 4 24 18 2 0 0
## 65 M Morkel MEK Hussey 60 68 42 0 10 0
## 66 UT Yadav MEK Hussey 24 42 22 2 2 0
## 69 M de Lange MEK Hussey 2 6 4 0 0 0
## 73 AD Russell MEK Hussey 8 12 8 0 0 0
## 79 R Rampaul MEK Hussey 16 18 8 0 2 0
## 82 SMSM Senanayake MEK Hussey 14 24 16 0 2 0
## 85 JP Faulkner MEK Hussey 46 44 18 0 4 2
## 88 DW Steyn MEK Hussey 16 26 14 0 2 0
## 89 KV Sharma MEK Hussey 24 26 10 0 0 2
## 90 Shami Ahmed MEK Hussey 10 12 8 0 2 0
## 91 KW Richardson MEK Hussey 0 6 6 2 0 0
## 92 DJ Hussey MEK Hussey 16 20 4 0 0 0
## 96 VS Malik MEK Hussey 26 24 12 0 4 0
## 99 JA Morkel MEK Hussey 4 12 8 2 0 0
## 100 IC Pandey MEK Hussey 22 28 14 0 4 0
## 102 WD Parnell MEK Hussey 26 30 14 0 4 0
## 106 Sandeep Sharma MEK Hussey 4 12 8 2 0 0
## 107 BE Hendricks MEK Hussey 2 8 4 0 0 0
## 108 AR Patel MEK Hussey 4 10 6 2 0 0
## 109 R Dhawan MEK Hussey 4 6 2 0 0 0
## 113 MJ McClenaghan MEK Hussey 12 16 6 2 2 0
## 115 D Wiese MEK Hussey 22 22 6 2 2 0
## Extras DotballPc StrikeRate
## 8 0 65.00 45.00
## 10 8 44.44 86.11
## 15 0 45.65 84.78
## 19 2 16.67 83.33
## 21 10 26.32 89.47
## 26 0 20.00 100.00
## 28 2 57.69 107.69
## 29 2 56.52 86.96
## 31 2 0.00 66.67
## 33 4 42.86 85.71
## 34 4 44.44 83.33
## 35 0 40.00 100.00
## 37 0 0.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 2 60.00 30.00
## 55 0 37.50 100.00
## 57 0 33.33 75.00
## 59 12 33.33 33.33
## 62 0 45.45 84.09
## 63 0 57.14 85.71
## 64 2 75.00 16.67
## 65 2 61.76 88.24
## 66 2 52.38 57.14
## 69 0 66.67 33.33
## 73 0 66.67 66.67
## 79 0 44.44 88.89
## 82 0 66.67 58.33
## 85 2 40.91 104.55
## 88 2 53.85 61.54
## 89 2 38.46 92.31
## 90 0 66.67 83.33
## 91 0 100.00 0.00
## 92 2 20.00 80.00
## 96 0 50.00 108.33
## 99 0 66.67 33.33
## 100 4 50.00 78.57
## 102 2 46.67 86.67
## 106 0 66.67 33.33
## 107 10 50.00 25.00
## 108 0 60.00 40.00
## 109 0 33.33 66.67
## 113 4 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.