Required packages

Provide the packages required to reproduce the report. Make sure you fulfilled the minimum requirement #10.

# This is the R chunk for the required packages
library(readr)
library(dplyr)
library(lubridate)
library(outliers)
library(forecast)
library(tidyr)

Executive Summary

Data Preprocessing is one of important and foremost step in Data science process . I am using the IPL datasets from Kaggle and the first dataset is Players dataset which contains the information of all the Players in IPl and the second dataset is the most_runs_average_strike_rate which contains the information of batting statistics of the Players of IPL.

Data

Indian Premier League(IPL) is a professional Twenty20 cricket league in India contested during March or April and May of every year by eight teams representing eight different cities in India. The league was founded by the Board of Control for Cricket in India(BCCI) in 2008 sourced from (https://www.kaggle.com/ramjidoolla/ipl-data-set)

The first dataset(Players) contains the Information of all the Players playing in IPL . This dataset contains 5 variables and 566 observations.Variables are as follows :

The second dataset (most_runs_average_strikerate) contains the Information of the Batting statistics of the Players in IPL. This dataset contains 6 variables and 516 observations .Variables are as follows :

As per requirement we merge both the dataset using full_join() since we want to retain all the values from both the datasets and the key is Name of the Player which is common between both the datasets.

# This is the R chunk for the Data Section
There were 12 warnings (use warnings() to see them)
#import the players dataset
Players <- read_csv("Players.csv")
Parsed with column specification:
cols(
  Player_Name = col_character(),
  DOB = col_date(format = ""),
  Batting_Hand = col_character(),
  Bowling_Skill = col_character(),
  Country = col_character()
)
head(Players)

#import the most_runs_average_strikerate dataset
most_runs <- read_csv("most_runs_average_strikerate.csv")
Parsed with column specification:
cols(
  batsman = col_character(),
  total_runs = col_double(),
  out = col_double(),
  numberofballs = col_double(),
  average = col_double(),
  strikerate = col_double()
)
head(most_runs)

#Merging the two datasets on Name of Player 
merge <- Players %>% full_join(most_runs ,c("Player_Name"="batsman"))
head(merge)
NA

Understand

We understand the merged dataset by using str() function which provides the structure of dataset and data types of all the attributes,then summarising it using summary() function. We found Batting_Hand ,Bowling_Skill and Country variables to be factor instead of character. We convert all the above character variables to factor using factor() function and provided the right labels to the Batting_Hand variables .

# This is the R chunk for the Understand Section
#structure of merge dataframe 
str(merge)
tibble [566 x 10] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
 $ Player_Name  : chr [1:566] "A Ashish Reddy" "A Chandila" "A Chopra" "A Choudhary" ...
 $ DOB          : Date[1:566], format: "1991-02-24" "1983-12-05" ...
 $ Batting_Hand : chr [1:566] "Right_Hand" "Right_Hand" "Right_Hand" "Right_Hand" ...
 $ Bowling_Skill: chr [1:566] "Right-arm medium" "Right-arm offbreak" "Right-arm offbreak" "Left-arm fast-medium" ...
 $ Country      : chr [1:566] "India" "India" "India" NA ...
 $ total_runs   : num [1:566] 280 4 53 25 4 62 150 15 35 366 ...
 $ out          : num [1:566] 15 1 5 2 0 2 6 0 2 29 ...
 $ numberofballs: num [1:566] 191 7 71 20 5 53 118 13 46 385 ...
 $ average      : num [1:566] 18.7 4 10.6 12.5 NA ...
 $ strikerate   : num [1:566] 146.6 57.1 74.6 125 80 ...
 - attr(*, "spec")=
  .. cols(
  ..   Player_Name = col_character(),
  ..   DOB = col_date(format = ""),
  ..   Batting_Hand = col_character(),
  ..   Bowling_Skill = col_character(),
  ..   Country = col_character()
  .. )
#summary of dataframe 
summary(merge)
 Player_Name             DOB             Batting_Hand       Bowling_Skill     
 Length:566         Min.   :1969-06-30   Length:566         Length:566        
 Class :character   1st Qu.:1981-05-21   Class :character   Class :character  
 Mode  :character   Median :1985-01-25   Mode  :character   Mode  :character  
                    Mean   :1984-11-15                                        
                    3rd Qu.:1989-02-14                                        
                    Max.   :1998-07-18                                        
                    NA's   :95                                                
   Country            total_runs          out         numberofballs       average     
 Length:566         Min.   :   0.0   Min.   :  0.00   Min.   :   1.0   Min.   : 0.00  
 Class :character   1st Qu.:  15.0   1st Qu.:  2.00   1st Qu.:  17.0   1st Qu.: 8.00  
 Mode  :character   Median :  74.0   Median :  5.50   Median :  68.0   Median :14.61  
                    Mean   : 430.6   Mean   : 17.06   Mean   : 335.6   Mean   :16.36  
                    3rd Qu.: 340.5   3rd Qu.: 18.00   3rd Qu.: 290.0   3rd Qu.:23.66  
                    Max.   :5426.0   Max.   :161.00   Max.   :4111.0   Max.   :88.00  
                    NA's   :50       NA's   :50       NA's   :50       NA's   :84     
   strikerate    
 Min.   :  0.00  
 1st Qu.: 84.36  
 Median :111.65  
 Mean   :105.43  
 3rd Qu.:130.50  
 Max.   :250.00  
 NA's   :50      
#Converting the Batting hand character variable to factor variable 
merge$Batting_Hand <- factor(merge$Batting_Hand ,
                                         labels = c("Left Handed Bat","Right Handed Bat"))

#Converting the Bowling Skill character variable to factor variable 
merge$Bowling_Skill <- factor(merge$Bowling_Skill)

#Converting the Country character variable to factor variable 
merge$Country <- factor(merge$Country)

Tidy & Manipulate Data I

In this dataset the DOB variable had stored the information of multiple variables(year,month and day) in one column,which doesn’t confirm the tidy data principle of “Each variable must have its own column” . We use seperate() function from tidyr library to seperate the DOB variable into birth_year birth_month and birth_day variable.Later,check the datatypes of new variables and convert it to numeric variable.

# This is the R chunk for the Tidy & Manipulate Data I 
#Seperate the DOB variable into birth_year,birth_month & birth_day variables using seperate() function
merge <- merge %>% separate(DOB,into=c("birth_year","birth_month","birth_day"),sep = "-")
str(merge)
tibble [566 x 12] (S3: tbl_df/tbl/data.frame)
 $ Player_Name  : chr [1:566] "A Ashish Reddy" "A Chandila" "A Chopra" "A Choudhary" ...
 $ birth_year   : chr [1:566] "1991" "1983" "1977" NA ...
 $ birth_month  : chr [1:566] "02" "12" "09" NA ...
 $ birth_day    : chr [1:566] "24" "05" "19" NA ...
 $ Batting_Hand : Factor w/ 2 levels "Left Handed Bat",..: 2 2 2 2 2 2 2 2 2 2 ...
 $ Bowling_Skill: Factor w/ 17 levels "Left-arm fast",..: 12 15 15 2 15 11 NA 9 6 5 ...
 $ Country      : Factor w/ 11 levels "Australia","Bangladesh",..: 4 4 4 NA NA 3 NA NA 4 4 ...
 $ total_runs   : num [1:566] 280 4 53 25 4 62 150 15 35 366 ...
 $ out          : num [1:566] 15 1 5 2 0 2 6 0 2 29 ...
 $ numberofballs: num [1:566] 191 7 71 20 5 53 118 13 46 385 ...
 $ average      : num [1:566] 18.7 4 10.6 12.5 NA ...
 $ strikerate   : num [1:566] 146.6 57.1 74.6 125 80 ...
#converting the character variable to numeric . 
merge$birth_year <- as.numeric(merge$birth_year)
merge$birth_month <- as.numeric(merge$birth_month)
merge$birth_day <- as.numeric(merge$birth_day)

Tidy & Manipulate Data II

In order to understand the Age of Batsman we apply mutate() function to create Age variable by subtracting the Birth year of Player with year 2020. Later check the new variable created using head() function .

# This is the R chunk for the Tidy & Manipulate Data II 

#Creating new variable Age of the Players using the year variable  
merge <-  merge %>% mutate(Age =(2020-birth_year))
head(merge)
NA

Scan I

Scanned the missing values of the merge dataset using sum(is.na()) function and missing values columnwise using colSums(is.na()) functionand got around 786 missing values in the dataset. We cannot replace the missing values in Date of Birth ,Country columns with the mean values and the New batsman who havent played any game will have missing value in total_runs, out,numberofballs,average and strike rate . So its better to omit the Missing values using na.omit() function Special values in the dataset were checked using is.infinite() & is.nan() functions,and no special values were present in the dataset.

# This is the R chunk for the Scan I
#Scanning the merge datasets for missing values
sum(is.na(merge))
[1] 786
#Total missing values in each column 
colSums(is.na(merge))
  Player_Name    birth_year   birth_month     birth_day  Batting_Hand Bowling_Skill 
            0            95            95            95             3            24 
      Country    total_runs           out numberofballs       average    strikerate 
           95            50            50            50            84            50 
          Age 
           95 
#Scanning for Special values 
is.special <- function(x)
  {
  if (is.numeric(x)) (is.infinite(x) | is.nan(x))
  }

#apply this function to merge dataset to scan for special values 
sapply(merge, is.special)
$Player_Name
NULL

$birth_year
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$birth_month
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$birth_day
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$Batting_Hand
NULL

$Bowling_Skill
NULL

$Country
NULL

$total_runs
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$out
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$numberofballs
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$average
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$strikerate
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE

$Age
  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [27] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [40] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [53] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [66] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [79] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
 [92] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[105] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[118] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[131] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[170] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[183] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[196] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[209] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[222] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[235] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[248] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[261] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[274] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[300] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[326] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[339] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[352] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[365] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[378] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[391] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[404] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[417] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[430] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[443] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[456] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[482] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[495] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[508] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[521] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[534] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[547] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[560] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
#Since the missing values are present in DOB ,Country which cannot be replaced with any variables 
#hence we can omit all  the missing values from the datasets

merge <- na.omit(merge)

colSums(is.na(merge))
  Player_Name    birth_year   birth_month     birth_day  Batting_Hand Bowling_Skill 
            0             0             0             0             0             0 
      Country    total_runs           out numberofballs       average    strikerate 
            0             0             0             0             0             0 
          Age 
            0 

Scan II

Scanned the numeric data for outliers by calculating zscores of numeric variables from outliers library.If the absolute value of z scores of numeric variable is greater than 3 ,then those variables are considered to be outliers.Scanned the outliers in Average and out variable . Since the Average variable had 3 outliers we can replace them with neighbouring values using Capping method as there is not much data loss. The outliers in out variable is transformed in next step.

# This is the R chunk for the Scan II
#Outliers in Average variable 
merge$average %>% boxplot(main="Box plot of Average of Batsman",ylab="Average of Batsman")

z.scores <- merge$average %>% scores(type = "z")
z.scores %>% summary()
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-1.5021 -0.7456 -0.1472  0.0000  0.6510  6.4465 
which(abs(z.scores) >3)
[1] 145 235 267
length(which(abs(z.scores)>3))
[1] 3
#outliers in number of outs variable 
merge$out %>% boxplot(main="Box plot of Number of times Batsman being out"
                      ,ylab="Number of times Batsman being out")

z.scores <-merge$out  %>% scores(type = "z")
z.scores %>% summary()
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-0.6327 -0.5997 -0.4345  0.0000  0.1269  4.6512 
which(abs(z.scores) >3)
 [1]  37  49  93 124 179 243 262 292 308 314 349 364 392
length(which(abs(z.scores) >3))
[1] 13
#We can replace the outlier with nearest neighbours using Capping in Average runs because it has only 3 outliers and the data is not lost.

# Define a function to cap the values outside the limits

cap <- function(x){
    quantiles <- quantile( x, c(.05, 0.25, 0.75, .95 ) )
    x[ x < quantiles[2] - 1.5*IQR(x) ] <- quantiles[1]
    x[ x > quantiles[3] + 1.5*IQR(x) ] <- quantiles[4]
    x
}

merge$average <- merge$average %>% cap()

#After Capping
merge$average %>% boxplot(main="Box plot of Average of Batsman",ylab="Average of Batsman")

Transform

The distribution of the out(number of times batsman was out) variable was left skewed. In order to make it to normal ,I used Box-cox transformation from forecast library as it is most powerful transformation to transform non-normal data into a normal distribution.It is to convert the left skewed distribution to normal distribution in the below code.

# This is the R chunk for the Transform Section
#decrease the skewness and convert the distribution into a normal distribution.
hist(merge$out)


#USe Box cox transformation to convert the disb to normal one 
merge$out <- BoxCox(merge$out,lambda = "auto")

#After transformation
hist(merge$out)

merge$out %>% boxplot(main="Box plot of Number of times Batsman being out"
                      ,ylab="Number of times Batsman being out")

LS0tDQp0aXRsZTogIk1BVEgyMzQ5IERhdGEgV3JhbmdsaW5nIg0KYXV0aG9yOiAiS2F1c2hpayBTdW5pbCBBbmFnYXJrYXIgc3R1ZGVudCBudW1iZXIgczM4Mjc0OTUiDQpzdWJ0aXRsZTogQXNzaWdubWVudCAyDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCg0KIyMgUmVxdWlyZWQgcGFja2FnZXMgDQoNClByb3ZpZGUgdGhlIHBhY2thZ2VzIHJlcXVpcmVkIHRvIHJlcHJvZHVjZSB0aGUgcmVwb3J0LiBNYWtlIHN1cmUgeW91IGZ1bGZpbGxlZCB0aGUgbWluaW11bSByZXF1aXJlbWVudCAjMTAuDQoNCmBgYHtyfQ0KIyBUaGlzIGlzIHRoZSBSIGNodW5rIGZvciB0aGUgcmVxdWlyZWQgcGFja2FnZXMNCmxpYnJhcnkocmVhZHIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShsdWJyaWRhdGUpDQpsaWJyYXJ5KG91dGxpZXJzKQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkodGlkeXIpDQpgYGANCg0KDQojIyBFeGVjdXRpdmUgU3VtbWFyeSANCg0KRGF0YSBQcmVwcm9jZXNzaW5nIGlzIG9uZSBvZiBpbXBvcnRhbnQgYW5kIGZvcmVtb3N0IHN0ZXAgaW4gRGF0YSBzY2llbmNlIHByb2Nlc3MgLg0KSSBhbSB1c2luZyB0aGUgSVBMIGRhdGFzZXRzIGZyb20gS2FnZ2xlIGFuZCB0aGUgZmlyc3QgZGF0YXNldCBpcyBQbGF5ZXJzIGRhdGFzZXQgd2hpY2ggY29udGFpbnMgdGhlIGluZm9ybWF0aW9uIG9mIGFsbCB0aGUgUGxheWVycyBpbiBJUGwgYW5kIHRoZSBzZWNvbmQgZGF0YXNldCBpcyB0aGUgbW9zdF9ydW5zX2F2ZXJhZ2Vfc3RyaWtlX3JhdGUgd2hpY2ggY29udGFpbnMgdGhlIGluZm9ybWF0aW9uIG9mIGJhdHRpbmcgc3RhdGlzdGljcyBvZiB0aGUgUGxheWVycyBvZiBJUEwuDQoNCg0KKiAqKkZpcnN0bHkgLGltcG9ydGVkICBib3RoIHRoZSBkYXRhc2V0cyB1c2luZyByZWFkUiBwYWNrYWdlIGFuZCBtZXJnZWQgYm90aCB0aGUgZGF0YXNldHMgdXNpbmcgdGhlIGZ1bGxfam9pbigpIGZ1bmN0aW9uLioqDQoNCiogKipTZWNvbmRseSxjaGVja2VkIHRoZSBkYXRhdHlwZXMgb2YgdGhlIGF0dHJpYnV0ZXMgdXNpbmcgc3RyKCkgZnVuY3Rpb24gdGhlbiBjb252ZXJ0ZWQgdGhlIGNoYXJhY3RlciB2YXJpYWJsZXMgdG8gZmFjdG9yIHVzaW5nIGZhY3RvcigpIGZ1bmN0aW9uLioqDQoNCiogKipUaGlyZGx5LGFwcGxpZWQgdGhlIHRpZHkgcHJpbmNpcGxlcyB0byBkYXRhc2V0IGFuZCBmb3VuZCB0aGF0IERPQiB2YXJpYWJsZWhhcyBzdG9yZWQgaW5mb3JtYXRpb24gb2YgbXVsdGlwbGUgdmFyaWFibGVzIHN0b3JlZCBpbiBzaW5nbGUgY29sdW1uLHRoZW4gc2VwZXJhdGVkIHRoZSBET0IgdmFyaWFibGVzIGludG8gYmlydGhfeWVhcixiaXJ0aF9tb250aCBhbmQgYmlydGhfZGF5IHZhcmlhYmxlcyBhbmQgbGF0ZXIgY2hlY2tlZCB0aGUgZGF0YXR5cGVzIG9mIG5ldyB2YXJpYWJsZXMgYW5kIGNvbnZlcnRlZCBpdCB0byBudW1lcmljLiAqKg0KDQoqICoqRm91cnRobHksY3JlYXRlZCBBZ2UgdmFyaWFibGUgdXNpbmcgdGhlIGJpcnRoX3llYXIgdmFyaWFibGUgYnkgc3VidHJhY3RpbmcgaXQgd2l0aCB5ZWFyIDIwMjAuKioNCg0KKiAqKk5leHQgc3RlcCx3YXMgdG8gc2NhbiB0aGUgbWlzc2luZyB2YWx1ZXMgdXNpbmcgaXMubmEoKSBmdW5jdGlvbiBhbmQgaGFuZGxlZCB0aGUgbWlzc2luZyB2YWx1ZXMgYnkgb21paXRpbmcgdGhlbSBmcm9tIG1lcmdlIGRhdGFzZXQgYW5kIGNoZWNrIGZvciBzcGVjaWFsIHZhbHVlcyB1c2luZyBpcy5pbmZpbml0ZSgpIGFuZCBpcy5uYW4oKSBmdW5jdGlvbiB0aGVyZSB3ZXJlIG5vIHNwZWNpYWwgdmFsdWVzIHByZXNlbnQgaW4gdGhlIGRhdGFzZXQqKiANCg0KKiAqKkFzIHRoZXJlIGFyZSBtYW55IG51bWVyaWMgdmFyaWFibGVzICxJIHdpbGwgYmUgc2Nhbm5pbmcgdGhlIG91dGxpZXJzIGZvciB0d28gdmFyaWFibGVzLk5leHQgc3RlcCAsd2FzIHRvIGNoZWNrIGZvciB0aGUgb3V0bGllcnMgIGJ5IGNhbGN1bGF0aW5nIHRoZSB6c2NvcmVzIG9mIHRoZSBudW1lcmljIHZhcmlhYmxlcyBhbmQgY2hlY2tpbmcgaWYgdGhlIHpzY29yZXMgYXJlIGdyZWF0ZXIgdGhhbiAzLGl0IGlzIGNvbnNpZGVyZWQgYXMgb3V0bGllcnMuU2luY2UgQXZlcmFnZSBydW5zIGhhcyAzIG91dGxpZXJzIHdlIGNhbiByZXBsYWNlIGl0IHdpdGggbmVpZ2hib3VyaW5nIHZhbHVlcyB1c2luZyBDYXBwaW5nIHNpbmNlIHRoZXJlIGlzIG5vIGRhdGEgbG9zcy4qKg0KDQoqICoqTGFzdCBzdGVwIHdhcyB0byB0cmFuc2Zvcm0gdGhlIG5vbi0gbGluZWFyIGRpc3RyaWJ1dGlvbiBvZiBvdXQgdmFyaWFibGUgdG8gbGluZWFyIGRpdHJpYnV0aW9uIHVzaW5nIGJveGNveCB0cmFuc2Zvcm1hdGlvbiAsdGhpcyB3YXkgYWxsIHRoZSBvdXRsaWVycyB3aWxsIGJlIHRyYW5zZm9ybWVkIGluIHRoZSBvdXQgdmFyaWFibGUgLioqDQoNCg0KIyMgRGF0YSANCg0KSW5kaWFuIFByZW1pZXIgTGVhZ3VlKElQTCkgaXMgYSBwcm9mZXNzaW9uYWwgVHdlbnR5MjAgY3JpY2tldCBsZWFndWUgaW4gSW5kaWEgY29udGVzdGVkIGR1cmluZyBNYXJjaCBvciBBcHJpbCBhbmQgTWF5IG9mIGV2ZXJ5IHllYXIgYnkgZWlnaHQgdGVhbXMgcmVwcmVzZW50aW5nIGVpZ2h0IGRpZmZlcmVudCBjaXRpZXMgaW4gSW5kaWEuIFRoZSBsZWFndWUgd2FzIGZvdW5kZWQgYnkgdGhlIEJvYXJkIG9mIENvbnRyb2wgZm9yIENyaWNrZXQgaW4gSW5kaWEoQkNDSSkgaW4gMjAwOCBzb3VyY2VkIGZyb20gKGh0dHBzOi8vd3d3LmthZ2dsZS5jb20vcmFtamlkb29sbGEvaXBsLWRhdGEtc2V0KQ0KDQpUaGUgZmlyc3QgZGF0YXNldChQbGF5ZXJzKSBjb250YWlucyB0aGUgSW5mb3JtYXRpb24gb2YgYWxsIHRoZSBQbGF5ZXJzIHBsYXlpbmcgaW4gSVBMIC4NClRoaXMgZGF0YXNldCBjb250YWlucyA1IHZhcmlhYmxlcyBhbmQgNTY2IG9ic2VydmF0aW9ucy5WYXJpYWJsZXMgYXJlIGFzIGZvbGxvd3MgOg0KDQoqICoqUGxheWVyX05hbWUgLSBOYW1lIG9mIHRoZSBQbGF5ZXIqKi4NCiogKipET0IgLSBEYXRlIG9mIGJpcnRoIG9mIFBsYXllcioqDQoqICoqQmF0dGluZ19IYW5kIC0gQmF0dGluZyBTdHlsZSBvZiBQbGF5ZXIqKg0KKiAqKkJvd2xpbmdfU2tpbGwgLSBCb3dsaW5nIFN0eWxlIG9mIFBsYXllcioqDQoqICoqQ291bnRyeSAtQ291bnRyeSBvZiB0aGUgUGxheWVyKioNCg0KVGhlIHNlY29uZCBkYXRhc2V0IChtb3N0X3J1bnNfYXZlcmFnZV9zdHJpa2VyYXRlKSBjb250YWlucyB0aGUgSW5mb3JtYXRpb24gb2YgdGhlIEJhdHRpbmcgDQpzdGF0aXN0aWNzIG9mIHRoZSBQbGF5ZXJzIGluIElQTC4NClRoaXMgZGF0YXNldCBjb250YWlucyA2IHZhcmlhYmxlcyBhbmQgNTE2IG9ic2VydmF0aW9ucyAuVmFyaWFibGVzIGFyZSBhcyBmb2xsb3dzIDoNCg0KKiAqKmJhdHNtYW4gLSBOYW1lIG9mIEJhdHNtYW4qKg0KKiAqKnRvdGFsX3J1bnMgLSBUb3RhbCBSdW5zIG1hZGUgYnkgQmF0c21hbiBpbiBJUEwqKiANCiogKipvdXQJLSBOdW1iZXIgb2YgdGltZSBiYXRzbWFuIGdvdCBvdXQgaW4gSVBMKioNCiogKipudW1iZXJvZmJhbGxzIC0gTnVtYmVyIG9mIGJhbGxzIGZhY2VkIGJ5IGJhdHNtYW4gaW4gSVBMKioNCiogKiphdmVyYWdlIC0gQXZlcmFnZSBydW5zIG9mICBCYXRzbWFuIGluIElQTCoqIA0KKiAqKnN0cmlrZXJhdGUgLSBTdHJpa2UgcmF0ZSBvZiBCYXRzbWFuIGluIElQTCoqIA0KDQpBcyBwZXIgcmVxdWlyZW1lbnQgd2UgbWVyZ2UgYm90aCB0aGUgZGF0YXNldCB1c2luZyBmdWxsX2pvaW4oKSBzaW5jZSB3ZSB3YW50IHRvIHJldGFpbiBhbGwgdGhlIHZhbHVlcyBmcm9tIGJvdGggdGhlIGRhdGFzZXRzIGFuZCB0aGUga2V5IGlzIE5hbWUgb2YgdGhlIFBsYXllciB3aGljaCBpcyBjb21tb24gYmV0d2VlbiANCmJvdGggdGhlIGRhdGFzZXRzLg0KDQoNCmBgYHtyfQ0KIyBUaGlzIGlzIHRoZSBSIGNodW5rIGZvciB0aGUgRGF0YSBTZWN0aW9uDQojaW1wb3J0IHRoZSBwbGF5ZXJzIGRhdGFzZXQNClBsYXllcnMgPC0gcmVhZF9jc3YoIlBsYXllcnMuY3N2IikNCmhlYWQoUGxheWVycykNCg0KI2ltcG9ydCB0aGUgbW9zdF9ydW5zX2F2ZXJhZ2Vfc3RyaWtlcmF0ZSBkYXRhc2V0DQptb3N0X3J1bnMgPC0gcmVhZF9jc3YoIm1vc3RfcnVuc19hdmVyYWdlX3N0cmlrZXJhdGUuY3N2IikNCmhlYWQobW9zdF9ydW5zKQ0KDQojTWVyZ2luZyB0aGUgdHdvIGRhdGFzZXRzIG9uIE5hbWUgb2YgUGxheWVyIA0KbWVyZ2UgPC0gUGxheWVycyAlPiUgZnVsbF9qb2luKG1vc3RfcnVucyAsYygiUGxheWVyX05hbWUiPSJiYXRzbWFuIikpDQpoZWFkKG1lcmdlKQ0KDQpgYGANCg0KIyMgVW5kZXJzdGFuZCANCg0KV2UgdW5kZXJzdGFuZCB0aGUgbWVyZ2VkIGRhdGFzZXQgYnkgdXNpbmcgc3RyKCkgZnVuY3Rpb24gd2hpY2ggcHJvdmlkZXMgdGhlIHN0cnVjdHVyZSBvZiBkYXRhc2V0IGFuZCBkYXRhIHR5cGVzIG9mIGFsbCB0aGUgYXR0cmlidXRlcyx0aGVuIHN1bW1hcmlzaW5nIGl0IHVzaW5nIHN1bW1hcnkoKSBmdW5jdGlvbi4NCldlIGZvdW5kIEJhdHRpbmdfSGFuZCAsQm93bGluZ19Ta2lsbCBhbmQgQ291bnRyeSB2YXJpYWJsZXMgdG8gYmUgZmFjdG9yIGluc3RlYWQgb2YgY2hhcmFjdGVyLg0KV2UgY29udmVydCBhbGwgdGhlIGFib3ZlIGNoYXJhY3RlciB2YXJpYWJsZXMgdG8gZmFjdG9yIHVzaW5nIGZhY3RvcigpIGZ1bmN0aW9uIGFuZCBwcm92aWRlZCB0aGUgcmlnaHQgbGFiZWxzIHRvIHRoZSBCYXR0aW5nX0hhbmQgdmFyaWFibGVzIC4gDQoNCg0KYGBge3J9DQojIFRoaXMgaXMgdGhlIFIgY2h1bmsgZm9yIHRoZSBVbmRlcnN0YW5kIFNlY3Rpb24NCiNzdHJ1Y3R1cmUgb2YgbWVyZ2UgZGF0YWZyYW1lIA0Kc3RyKG1lcmdlKQ0KDQojc3VtbWFyeSBvZiBkYXRhZnJhbWUgDQpzdW1tYXJ5KG1lcmdlKQ0KDQojQ29udmVydGluZyB0aGUgQmF0dGluZyBoYW5kIGNoYXJhY3RlciB2YXJpYWJsZSB0byBmYWN0b3IgdmFyaWFibGUgDQptZXJnZSRCYXR0aW5nX0hhbmQgPC0gZmFjdG9yKG1lcmdlJEJhdHRpbmdfSGFuZCAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIkxlZnQgSGFuZGVkIEJhdCIsIlJpZ2h0IEhhbmRlZCBCYXQiKSkNCg0KI0NvbnZlcnRpbmcgdGhlIEJvd2xpbmcgU2tpbGwgY2hhcmFjdGVyIHZhcmlhYmxlIHRvIGZhY3RvciB2YXJpYWJsZSANCm1lcmdlJEJvd2xpbmdfU2tpbGwgPC0gZmFjdG9yKG1lcmdlJEJvd2xpbmdfU2tpbGwpDQoNCiNDb252ZXJ0aW5nIHRoZSBDb3VudHJ5IGNoYXJhY3RlciB2YXJpYWJsZSB0byBmYWN0b3IgdmFyaWFibGUgDQptZXJnZSRDb3VudHJ5IDwtIGZhY3RvcihtZXJnZSRDb3VudHJ5KQ0KDQpgYGANCg0KDQojIwlUaWR5ICYgTWFuaXB1bGF0ZSBEYXRhIEkgDQoNCkluIHRoaXMgZGF0YXNldCB0aGUgRE9CIHZhcmlhYmxlIGhhZCBzdG9yZWQgdGhlIGluZm9ybWF0aW9uIG9mIG11bHRpcGxlIHZhcmlhYmxlcyh5ZWFyLG1vbnRoIGFuZCBkYXkpIGluIG9uZSBjb2x1bW4sd2hpY2ggZG9lc24ndCBjb25maXJtIHRoZSB0aWR5IGRhdGEgcHJpbmNpcGxlIG9mICJFYWNoIHZhcmlhYmxlIG11c3QgaGF2ZSBpdHMgb3duIGNvbHVtbiIgLg0KV2UgdXNlIHNlcGVyYXRlKCkgZnVuY3Rpb24gZnJvbSB0aWR5ciBsaWJyYXJ5IHRvIHNlcGVyYXRlIHRoZSBET0IgdmFyaWFibGUgaW50byBiaXJ0aF95ZWFyIGJpcnRoX21vbnRoIGFuZCBiaXJ0aF9kYXkgdmFyaWFibGUuTGF0ZXIsY2hlY2sgdGhlIGRhdGF0eXBlcyBvZiBuZXcgdmFyaWFibGVzIGFuZCBjb252ZXJ0IGl0IHRvIG51bWVyaWMgdmFyaWFibGUuDQoNCg0KYGBge3J9DQojIFRoaXMgaXMgdGhlIFIgY2h1bmsgZm9yIHRoZSBUaWR5ICYgTWFuaXB1bGF0ZSBEYXRhIEkgDQojU2VwZXJhdGUgdGhlIERPQiB2YXJpYWJsZSBpbnRvIGJpcnRoX3llYXIsYmlydGhfbW9udGggJiBiaXJ0aF9kYXkgdmFyaWFibGVzIHVzaW5nIHNlcGVyYXRlKCkgZnVuY3Rpb24NCm1lcmdlIDwtIG1lcmdlICU+JSBzZXBhcmF0ZShET0IsaW50bz1jKCJiaXJ0aF95ZWFyIiwiYmlydGhfbW9udGgiLCJiaXJ0aF9kYXkiKSxzZXAgPSAiLSIpDQpzdHIobWVyZ2UpDQoNCiNjb252ZXJ0aW5nIHRoZSBjaGFyYWN0ZXIgdmFyaWFibGUgdG8gbnVtZXJpYyAuIA0KbWVyZ2UkYmlydGhfeWVhciA8LSBhcy5udW1lcmljKG1lcmdlJGJpcnRoX3llYXIpDQptZXJnZSRiaXJ0aF9tb250aCA8LSBhcy5udW1lcmljKG1lcmdlJGJpcnRoX21vbnRoKQ0KbWVyZ2UkYmlydGhfZGF5IDwtIGFzLm51bWVyaWMobWVyZ2UkYmlydGhfZGF5KQ0KDQpgYGANCg0KIyMJVGlkeSAmIE1hbmlwdWxhdGUgRGF0YSBJSSANCg0KSW4gb3JkZXIgdG8gdW5kZXJzdGFuZCB0aGUgQWdlIG9mIEJhdHNtYW4gd2UgYXBwbHkgbXV0YXRlKCkgZnVuY3Rpb24gdG8gY3JlYXRlIEFnZSB2YXJpYWJsZSBieSBzdWJ0cmFjdGluZyB0aGUgQmlydGggeWVhciBvZiBQbGF5ZXIgd2l0aCB5ZWFyIDIwMjAuDQpMYXRlciBjaGVjayB0aGUgbmV3IHZhcmlhYmxlIGNyZWF0ZWQgdXNpbmcgaGVhZCgpIGZ1bmN0aW9uIC4NCg0KYGBge3J9DQojIFRoaXMgaXMgdGhlIFIgY2h1bmsgZm9yIHRoZSBUaWR5ICYgTWFuaXB1bGF0ZSBEYXRhIElJIA0KDQojQ3JlYXRpbmcgbmV3IHZhcmlhYmxlIEFnZSBvZiB0aGUgUGxheWVycyB1c2luZyB0aGUgeWVhciB2YXJpYWJsZSAgDQptZXJnZSA8LSAgbWVyZ2UgJT4lIG11dGF0ZShBZ2UgPSgyMDIwLWJpcnRoX3llYXIpKQ0KaGVhZChtZXJnZSkNCg0KYGBgDQoNCg0KIyMJU2NhbiBJIA0KDQpTY2FubmVkIHRoZSBtaXNzaW5nIHZhbHVlcyBvZiB0aGUgbWVyZ2UgZGF0YXNldCB1c2luZyBzdW0oaXMubmEoKSkgZnVuY3Rpb24gYW5kIG1pc3NpbmcgdmFsdWVzIGNvbHVtbndpc2UgdXNpbmcgY29sU3Vtcyhpcy5uYSgpKSBmdW5jdGlvbmFuZCBnb3QgYXJvdW5kIDc4NiBtaXNzaW5nIHZhbHVlcyBpbiB0aGUgZGF0YXNldC4NCldlIGNhbm5vdCByZXBsYWNlIHRoZSBtaXNzaW5nIHZhbHVlcyBpbiBEYXRlIG9mIEJpcnRoICxDb3VudHJ5IGNvbHVtbnMgIHdpdGggdGhlIG1lYW4gdmFsdWVzIGFuZCB0aGUgTmV3IGJhdHNtYW4gd2hvIGhhdmVudCBwbGF5ZWQgYW55IGdhbWUgd2lsbCBoYXZlIG1pc3NpbmcgdmFsdWUgaW4gdG90YWxfcnVucywNCm91dCxudW1iZXJvZmJhbGxzLGF2ZXJhZ2UgYW5kIHN0cmlrZSByYXRlIC4NClNvIGl0cyBiZXR0ZXIgdG8gb21pdCB0aGUgTWlzc2luZyB2YWx1ZXMgdXNpbmcgbmEub21pdCgpIGZ1bmN0aW9uDQpTcGVjaWFsIHZhbHVlcyBpbiB0aGUgZGF0YXNldCB3ZXJlIGNoZWNrZWQgdXNpbmcgaXMuaW5maW5pdGUoKSAmIGlzLm5hbigpIGZ1bmN0aW9ucyxhbmQgbm8gc3BlY2lhbCB2YWx1ZXMgd2VyZSBwcmVzZW50IGluIHRoZSBkYXRhc2V0Lg0KDQoNCmBgYHtyfQ0KIyBUaGlzIGlzIHRoZSBSIGNodW5rIGZvciB0aGUgU2NhbiBJDQojU2Nhbm5pbmcgdGhlIG1lcmdlIGRhdGFzZXRzIGZvciBtaXNzaW5nIHZhbHVlcw0Kc3VtKGlzLm5hKG1lcmdlKSkNCg0KI1RvdGFsIG1pc3NpbmcgdmFsdWVzIGluIGVhY2ggY29sdW1uIA0KY29sU3Vtcyhpcy5uYShtZXJnZSkpDQoNCiNTY2FubmluZyBmb3IgU3BlY2lhbCB2YWx1ZXMgDQppcy5zcGVjaWFsIDwtIGZ1bmN0aW9uKHgpDQogIHsNCiAgaWYgKGlzLm51bWVyaWMoeCkpIChpcy5pbmZpbml0ZSh4KSB8IGlzLm5hbih4KSkNCiAgfQ0KDQojYXBwbHkgdGhpcyBmdW5jdGlvbiB0byBtZXJnZSBkYXRhc2V0IHRvIHNjYW4gZm9yIHNwZWNpYWwgdmFsdWVzIA0Kc2FwcGx5KG1lcmdlLCBpcy5zcGVjaWFsKQ0KDQojU2luY2UgdGhlIG1pc3NpbmcgdmFsdWVzIGFyZSBwcmVzZW50IGluIERPQiAsQ291bnRyeSB3aGljaCBjYW5ub3QgYmUgcmVwbGFjZWQgd2l0aCBhbnkgdmFyaWFibGVzIA0KI2hlbmNlIHdlIGNhbiBvbWl0IGFsbCAgdGhlIG1pc3NpbmcgdmFsdWVzIGZyb20gdGhlIGRhdGFzZXRzDQoNCm1lcmdlIDwtIG5hLm9taXQobWVyZ2UpDQoNCmNvbFN1bXMoaXMubmEobWVyZ2UpKQ0KDQpgYGANCg0KDQojIwlTY2FuIElJDQoNClNjYW5uZWQgdGhlIG51bWVyaWMgZGF0YSBmb3Igb3V0bGllcnMgYnkgY2FsY3VsYXRpbmcgenNjb3JlcyBvZiBudW1lcmljIHZhcmlhYmxlcyBmcm9tIG91dGxpZXJzIGxpYnJhcnkuSWYgdGhlIGFic29sdXRlIHZhbHVlIG9mIHogc2NvcmVzIG9mIG51bWVyaWMgdmFyaWFibGUgaXMgZ3JlYXRlciB0aGFuIDMgLHRoZW4gdGhvc2UgdmFyaWFibGVzIGFyZSBjb25zaWRlcmVkIHRvIGJlIG91dGxpZXJzLlNjYW5uZWQgdGhlIG91dGxpZXJzIGluIEF2ZXJhZ2UgYW5kIG91dCB2YXJpYWJsZSAuDQpTaW5jZSB0aGUgQXZlcmFnZSB2YXJpYWJsZSBoYWQgMyBvdXRsaWVycyB3ZSBjYW4gcmVwbGFjZSB0aGVtIHdpdGggbmVpZ2hib3VyaW5nIHZhbHVlcyB1c2luZyBDYXBwaW5nIG1ldGhvZCBhcyB0aGVyZSBpcyBub3QgbXVjaCBkYXRhIGxvc3MuDQpUaGUgb3V0bGllcnMgaW4gb3V0IHZhcmlhYmxlIGlzIHRyYW5zZm9ybWVkIGluIG5leHQgc3RlcC4NCg0KDQoNCmBgYHtyfQ0KIyBUaGlzIGlzIHRoZSBSIGNodW5rIGZvciB0aGUgU2NhbiBJSQ0KI091dGxpZXJzIGluIEF2ZXJhZ2UgdmFyaWFibGUgDQptZXJnZSRhdmVyYWdlICU+JSBib3hwbG90KG1haW49IkJveCBwbG90IG9mIEF2ZXJhZ2Ugb2YgQmF0c21hbiIseWxhYj0iQXZlcmFnZSBvZiBCYXRzbWFuIikNCnouc2NvcmVzIDwtIG1lcmdlJGF2ZXJhZ2UgJT4lIHNjb3Jlcyh0eXBlID0gInoiKQ0Kei5zY29yZXMgJT4lIHN1bW1hcnkoKQ0Kd2hpY2goYWJzKHouc2NvcmVzKSA+MykNCmxlbmd0aCh3aGljaChhYnMoei5zY29yZXMpPjMpKQ0KDQojb3V0bGllcnMgaW4gbnVtYmVyIG9mIG91dHMgdmFyaWFibGUgDQptZXJnZSRvdXQgJT4lIGJveHBsb3QobWFpbj0iQm94IHBsb3Qgb2YgTnVtYmVyIG9mIHRpbWVzIEJhdHNtYW4gYmVpbmcgb3V0Ig0KICAgICAgICAgICAgICAgICAgICAgICx5bGFiPSJOdW1iZXIgb2YgdGltZXMgQmF0c21hbiBiZWluZyBvdXQiKQ0Kei5zY29yZXMgPC1tZXJnZSRvdXQgICU+JSBzY29yZXModHlwZSA9ICJ6IikNCnouc2NvcmVzICU+JSBzdW1tYXJ5KCkNCndoaWNoKGFicyh6LnNjb3JlcykgPjMpDQpsZW5ndGgod2hpY2goYWJzKHouc2NvcmVzKSA+MykpDQoNCiNXZSBjYW4gcmVwbGFjZSB0aGUgb3V0bGllciB3aXRoIG5lYXJlc3QgbmVpZ2hib3VycyB1c2luZyBDYXBwaW5nIGluIEF2ZXJhZ2UgcnVucyBiZWNhdXNlIGl0IGhhcyBvbmx5IDMgb3V0bGllcnMgYW5kIHRoZSBkYXRhIGlzIG5vdCBsb3N0Lg0KDQojIERlZmluZSBhIGZ1bmN0aW9uIHRvIGNhcCB0aGUgdmFsdWVzIG91dHNpZGUgdGhlIGxpbWl0cw0KDQpjYXAgPC0gZnVuY3Rpb24oeCl7DQogICAgcXVhbnRpbGVzIDwtIHF1YW50aWxlKCB4LCBjKC4wNSwgMC4yNSwgMC43NSwgLjk1ICkgKQ0KICAgIHhbIHggPCBxdWFudGlsZXNbMl0gLSAxLjUqSVFSKHgpIF0gPC0gcXVhbnRpbGVzWzFdDQogICAgeFsgeCA+IHF1YW50aWxlc1szXSArIDEuNSpJUVIoeCkgXSA8LSBxdWFudGlsZXNbNF0NCiAgICB4DQp9DQoNCm1lcmdlJGF2ZXJhZ2UgPC0gbWVyZ2UkYXZlcmFnZSAlPiUgY2FwKCkNCg0KI0FmdGVyIENhcHBpbmcNCm1lcmdlJGF2ZXJhZ2UgJT4lIGJveHBsb3QobWFpbj0iQm94IHBsb3Qgb2YgQXZlcmFnZSBvZiBCYXRzbWFuIix5bGFiPSJBdmVyYWdlIG9mIEJhdHNtYW4iKQ0KDQpgYGANCg0KDQojIwlUcmFuc2Zvcm0gDQoNClRoZSBkaXN0cmlidXRpb24gb2YgdGhlIG91dChudW1iZXIgb2YgdGltZXMgYmF0c21hbiB3YXMgb3V0KSB2YXJpYWJsZSB3YXMgbGVmdCBza2V3ZWQuDQpJbiBvcmRlciB0byBtYWtlIGl0IHRvIG5vcm1hbCAsSSB1c2VkIEJveC1jb3ggdHJhbnNmb3JtYXRpb24gZnJvbSBmb3JlY2FzdCBsaWJyYXJ5IGFzIGl0IGlzIG1vc3QgcG93ZXJmdWwgdHJhbnNmb3JtYXRpb24gdG8gdHJhbnNmb3JtIG5vbi1ub3JtYWwgZGF0YSBpbnRvIGEgbm9ybWFsIGRpc3RyaWJ1dGlvbi5JdCBpcyB0byBjb252ZXJ0IHRoZSBsZWZ0IHNrZXdlZCBkaXN0cmlidXRpb24gdG8gbm9ybWFsIGRpc3RyaWJ1dGlvbiBpbiB0aGUgYmVsb3cgY29kZS4NCg0KYGBge3J9DQojIFRoaXMgaXMgdGhlIFIgY2h1bmsgZm9yIHRoZSBUcmFuc2Zvcm0gU2VjdGlvbg0KI2RlY3JlYXNlIHRoZSBza2V3bmVzcyBhbmQgY29udmVydCB0aGUgZGlzdHJpYnV0aW9uIGludG8gYSBub3JtYWwgZGlzdHJpYnV0aW9uLg0KaGlzdChtZXJnZSRvdXQpDQoNCiNVU2UgQm94IGNveCB0cmFuc2Zvcm1hdGlvbiB0byBjb252ZXJ0IHRoZSBkaXNiIHRvIG5vcm1hbCBvbmUgDQptZXJnZSRvdXQgPC0gQm94Q294KG1lcmdlJG91dCxsYW1iZGEgPSAiYXV0byIpDQoNCiNBZnRlciB0cmFuc2Zvcm1hdGlvbg0KaGlzdChtZXJnZSRvdXQpDQptZXJnZSRvdXQgJT4lIGJveHBsb3QobWFpbj0iQm94IHBsb3Qgb2YgTnVtYmVyIG9mIHRpbWVzIEJhdHNtYW4gYmVpbmcgb3V0Ig0KICAgICAgICAgICAgICAgICAgICAgICx5bGFiPSJOdW1iZXIgb2YgdGltZXMgQmF0c21hbiBiZWluZyBvdXQiKQ0KDQpgYGA=