4/2
[1] 2
6/12
[1] 0.5
4/12
[1] 0.3333333
81/9
[1] 9
sqrt(81)
[1] 9
sqrt(144)
[1] 12
sqrt(16)
[1] 4
log(2)#Natural Log
[1] 0.6931472
log(10)
[1] 2.302585
log(2.72)
[1] 1.000632
Question 1: Compute the log base 5 of 10 and the log of 10.
#Answers for Question 1
log(10,5) #log of 10, base 5
[1] 1.430677
log(10,10)#log of 10, base 10
[1] 1
log(100,4)#log of 100,base 4
[1] 3.321928
#Batting Average=(No. of Hits)/(No. of At Bats)
#What is the batting average of a player that bats 129 hits in 412 at bats?
BA=129/412
BA
[1] 0.3131068
#Alternative Solutions
N_Hits=129
At_Bats=412
BA<-N_Hits/At_Bats
BA
[1] 0.3131068
Batting_Average=round(BA,digits = 3)
Batting_Average
[1] 0.313
#Question_2:What is the batting average of a player that bats 42 hits in 212 at bats?
#Answers
N_Hits=42
At_Bats1=212
Bat_Average<-N_Hits/At_Bats1
BattingAverage=round(Bat_Average,digits = 3)
BattingAverage
[1] 0.198
#On Base Percentage
#OBP=(H+BB+HBP)/(At Bats+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+84+5+6)
OBP
[1] 0.4278689
OBP_Adj=round(OBP,digits = 3)
OBP_Adj
[1] 0.428
Question_3:Compute the OBP for a player with the following general stats:
#AB=565,H=156,BB=65,HBP=3,SF=7
OBP=(156+65+3)/(565+65+3+156+7)
OBP_Ad=round(OBP,digits = 3)
OBP_Ad
[1] 0.281
Often you will want to test whether something is less than, greater than or equal to something.
3==8
[1] FALSE
2==3
[1] FALSE
1==1
[1] TRUE
3>=1
[1] TRUE
3>=9
[1] FALSE
3!=4
[1] TRUE
Often you will want to test whether something is less than, greater than or equal to something.
# Logical Disjunction (or)
FALSE | FALSE # False OR False
[1] FALSE
FALSE|TRUE
[1] TRUE
TRUE & FALSE
[1] FALSE
# Combination of statements
2 < 3 | 1 == 5 # 2<3 is True, 1==5 is False, True OR False is True
[1] TRUE
2<1|2==3
[1] FALSE
total_bases<-7+4
total_bases*4
[1] 44
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.
runs_per_9innings<-c(1,3,4,1,6)
runs_per_9innings
[1] 1 3 4 1 6
hits_per_9innings<-c(2,4,6,1,2)
hits_per_9innings
[1] 2 4 6 1 2
#Replicate functions
rep(3,3)
[1] 3 3 3
seq(1,10,by=3)
[1] 1 4 7 10
seq(2,13,by=3)
[1] 2 5 8 11
#adding vectors
pitches_by_innings+strikes_by_innings#+ operator
[1] 21 27 16 34 19
#compare two vectors
pitches_by_innings
[1] 12 15 10 20 10
strikes_by_innings
[1] 9 12 6 14 9
pitches_by_innings==strikes_by_innings
[1] FALSE FALSE FALSE FALSE FALSE
length(pitches_by_innings)
[1] 5
min(pitches_by_innings)
[1] 10
mean(pitches_by_innings)
[1] 13.4
pitches_by_innings[1]
[1] 12
hits_per_9innings[1]
[1] 2
pitches_by_innings[length(pitches_by_innings)]
[1] 10
pitches_by_innings[c(2,3,4)]
[1] 15 10 20
player_positions<-c("catcher","pitcher","infielders","outfielders")
player_positions
[1] "catcher" "pitcher" "infielders" "outfielders"
Data Frames
data.frame(bonus = c(2, 3, 1), active_roster = c("yes", "No", "Yes"), salary = c(1.5, 2.5, 1))
NA
NA
Using Tables
x<-c("Yes","No","No","Yes","Yes")
table(x)
x
No Yes
2 3
NUmerical measures and center of spread
ceo_slaries<-c(12,.4,2,50,8,3,1,4,.25)
mean(ceo_slaries)
[1] 8.961111
var(ceo_slaries)
[1] 251.9386
sd(ceo_slaries)
[1] 15.87257
median(ceo_slaries)
[1] 3
fivenum(ceo_slaries)
[1] 0.25 1.00 3.00 8.00 50.00
Question_5: Get the first element of hits_per_9innings
hits_per_9innings[1]
[1] 2
Question_6: Get the last element of hits_per_9innings
hits_per_9innings[length(hits_per_9innings)]
[1] 2
getMode<-function(x) {
ux<-unique(x)
ux[which.max(tabulate(match(x,ux)))]
}
Question_7: Find the most frequent value of hits_per_9innings.
pitches_by_innings
[1] 12 15 10 20 10
getMode(pitches_by_innings)
[1] 10
Question_8 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","Monday","Saturday","Tuesday")
table(game_day)
game_day
Monday Saturday Tuesday
1 3 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"