This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

plot(cars)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

mean(cars$speed)
## [1] 15.4
mean(cars$dist)
## [1] 42.98
max(cars$dist)
## [1] 120
max(cars$speed)
## [1] 25
4+1
## [1] 5
5-2
## [1] 3
2^2
## [1] 4
sqrt(25)
## [1] 5
log(2.72)
## [1] 1.000632
log10(5)
## [1] 0.69897
log10(10)
## [1] 1
log10(100)
## [1] 2

#Question_1: Compute the log base 5 of 10 and the log of 10.

log(10,base=5)
## [1] 1.430677
log(1000,base=10)
## [1] 3
#Batting Average=(No. of Hits)/(No. of At Bats)
#What is the batting average of a player that bats 29 hits in 112 at bats?
BA=(29)/(112)
BA
## [1] 0.2589286
Batting_Average=round(BA,digits = 3)
Batting_Average
## [1] 0.259

#Question_2:What is the batting average of a player that bats 42 hits in 212 at bats?

#On Base Percentage = OBP
#OBP=(H+BB+HBP)/(At Bats+H+BB+HBP+SF)
#Let us compute the OBP for a player with the following general stats
#AB=515,H=172,BB=84,HBP=5,SF=6
OBP=(172+84+5)/(515+172+84+5+6)
OBP
## [1] 0.3337596
On_Base_Percentage=round(OBP,digits = 3)
On_Base_Percentage
## [1] 0.334

#Question_3:Compute the OBP for a player with the following general stats: #AB=565,H=156,BB=65,HBP=3,SF=7

#OBP=(H+BB+HBP)/(At Bats+H+BB+HBP+SF)
OBp=(156+65+3)/(565+156+65+3+7)
OBP
## [1] 0.3337596
3 == 8# Does 3 equals 8?
## [1] FALSE
3 != 8# Is 3 different from 8?
## [1] TRUE
3 <= 8# Is 3 less than or equal to 8?
## [1] TRUE
3>4
## [1] FALSE
# Logical Disjunction (or)
FALSE | FALSE # False OR False
## [1] FALSE
# Logical Conjunction (and)
TRUE & FALSE #True AND False
## [1] FALSE
# Negation
! FALSE # Not False
## [1] TRUE
# Combination of statements
2 < 3 | 1 == 5 # 2<3 is True, 1==5 is False, True OR False is True
## [1] TRUE
Total_Bases <- 6 + 5
Total_Bases*3
## [1] 33
ls()
## [1] "BA"                 "Batting_Average"    "OBp"               
## [4] "OBP"                "On_Base_Percentage" "Total_Bases"
rm(Total_Bases)
#Vectors 

pitches_by_innings <- c(12, 15, 10, 20, 10) 
pitches_by_innings
## [1] 12 15 10 20 10
strikes_by_innings <- c(9, 12, 6, 14, 9)
strikes_by_innings
## [1]  9 12  6 14  9

#Question_4: Define two vectors,runs_per_9innings and hits_per_9innings, each with five elements.

pitches_by_innings <- c(2,15,24,5,12)
pitches_by_innings
## [1]  2 15 24  5 12
strikes_by_innings <- c(6,5,8,6,9)
strikes_by_innings
## [1] 6 5 8 6 9
# replicate function
rep(2, 5)
## [1] 2 2 2 2 2
rep(1,4)
## [1] 1 1 1 1
# consecutive numbers
1:5
## [1] 1 2 3 4 5
2:10
## [1]  2  3  4  5  6  7  8  9 10
# sequence from 1 to 10 with a step of 2
seq(1, 10, by=2)
## [1] 1 3 5 7 9
seq(2,13,by=3)
## [1]  2  5  8 11
# add vectors
pitches_by_innings+strikes_by_innings
## [1]  8 20 32 11 21
#compare vectors
pitches_by_innings == strikes_by_innings
## [1] FALSE FALSE FALSE FALSE FALSE
# find length of vector
length(pitches_by_innings)
## [1] 5
# find minimum value in vector
min(pitches_by_innings)
## [1] 2
# find average value in vector
mean(pitches_by_innings)
## [1] 11.6
pitches_by_innings
## [1]  2 15 24  5 12
# If you want to get the first element:
pitches_by_innings[1]
## [1] 2

#Question_5: Get the first element of hits_per_9innings.

strikes_by_innings[1]
## [1] 6
pitches_by_innings[length(pitches_by_innings)]
## [1] 12

#Question_6: Get the last element of hits_per_9innings.

strikes_by_innings[length(strikes_by_innings)]
## [1] 9
pitches_by_innings[c(2, 3, 4)]
## [1] 15 24  5
player_positions <- c("catcher", "pitcher", "infielders", "outfielders")
player_positions
## [1] "catcher"     "pitcher"     "infielders"  "outfielders"
#Data Frames

sample(1:10, size=5)
## [1] 3 6 2 4 9
bar <- data.frame(var1 = LETTERS[1:10], var2 = 1:10)
# Check data frame
bar
n<- 5 
samplerows <- sample(1:nrow(bar), size=n) 
# print sample rows
samplerows
## [1]  9 10  6  1  7
# extract rows
barsample <- bar[samplerows, ]
# print sample
print(barsample)
##    var1 var2
## 9     I    9
## 10    J   10
## 6     F    6
## 1     A    1
## 7     G    7
x <- c("Yes","No","No","Yes","Yes") 
table(x)
## x
##  No Yes 
##   2   3
sals <- c(12, .4, 5, 2, 50, 8, 3, 1, 4, 0.25)
# the average
mean(sals) 
## [1] 8.565
# the variance
var(sals)
## [1] 225.5145
# the standard deviation
sd(sals)
## [1] 15.01714
# the median
median(sals)
## [1] 3.5
# Tukey's five number summary, usefull for boxplots
# five numbers: min, lower hinge, median, upper hinge, max
fivenum(sals)
## [1]  0.25  1.00  3.50  8.00 50.00
# summary statistics
summary(sals)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.250   1.250   3.500   8.565   7.250  50.000
#Funtion to find the mode , i.e. most frequent value 
getMode <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}

#most frequent value in pitches_by_innings
getMode(pitches_by_innings)
## [1] 2

#Question_7: Find the most frequent value of hits_per_9innings.

getMode(strikes_by_innings)
## [1] 6

#Question_8: Summarize the following survey with the table() command: #What is your favorite day of the week to watch baseball? A total of 10 fans submitted this survey. #Saturday, Saturday, Sunday, Monday, Saturday,Tuesday, Sunday, Friday, Friday, Monday game_day<-c(“Saturday”, “Saturday”, “Sunday”, “Monday”, “Saturday”,“Tuesday”, “Sunday”, “Friday”, “Friday”, “Monday”)

game_day<-c("Saturday", "Saturday", "Sunday", "Monday", "Saturday","Tuesday", "Sunday", "Friday", "Friday", "Monday") 
table(game_day)
## game_day
##   Friday   Monday Saturday   Sunday  Tuesday 
##        2        2        3        2        1

#Question_9: What is the most frequent answer recorded in the survey? Use the getMode function to compute results.

getMode(game_day)
## [1] "Saturday"