#Addition
2+3
[1] 5
#Subtraction
2-5
[1] -3
#Exponents
5^3
[1] 125
#log
log(10)
[1] 2.302585
log(2.72,base = 2.72)
[1] 1
log10(10)
[1] 1
log10(10)
[1] 1
log10(100)
[1] 2
log(10,base = 5)
[1] 1.430677
#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?
BA=(42)/(212)
Batting_Average=round(BA,digits = 3)
Batting_Average
[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
On_Base_Percentage=round(OBP,digits = 3)
On_Base_Percentage
[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=(H+BB+HBP)/(At Bats+BB+HBP+SF)
OBP=(156+65+3)/(565+65+3+7)
On_Base_Percentage=round(OBP,digits = 3)
On_Base_Percentage
[1] 0.35
3 <= 8# Is 3 less than or equal to 8?
[1] TRUE
3>=5
[1] FALSE
3==5
[1] FALSE
!FALSE
[1] TRUE
!TRUE
[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>3 | 2==3
[1] FALSE
2>1 & 3>=3
[1] TRUE
2>1 & 3>=4
[1] FALSE
Total_Bases <- 6 + 5
Total_Bases*3
[1] 33
ls()
[1] "BA" "Batting_Average" "OBP" "On_Base_Percentage" "Total_Bases"
rm(Total_Bases)
ls()
[1] "BA" "Batting_Average" "OBP" "On_Base_Percentage"
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(2,5,7,11,13)
hits_per_9innings<-c(11,13,16,18,19)
runs_per_9innings
[1] 2 5 7 11 13
hits_per_9innings
[1] 11 13 16 18 19
rep(3,4)
[1] 3 3 3 3
2:4
[1] 2 3 4
#Sequence
seq(1,20, by=3)
[1] 1 4 7 10 13 16 19
# add vectors
pitches_by_innings+strikes_by_innings
[1] 21 27 16 34 19
# compare vectors
pitches_by_innings == strikes_by_innings
[1] FALSE FALSE FALSE FALSE FALSE
runs_per_9innings==hits_per_9innings
[1] FALSE FALSE FALSE FALSE FALSE
# If you want to get the second element:
pitches_by_innings[2]
[1] 15
hits_per_9innings[1]
[1] 11
hits_per_9innings[length(hits_per_9innings)]
[1] 19
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.frame(bonus = c(2, 3, 1),#in millions
active_roster = c("yes", "no", "yes"),
salary = c(1.5, 2.5, 1))#in millions
sample(1:10, size=5)
[1] 7 8 4 2 10
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
var(sals)
[1] 225.5145
sd(sals)
[1] 15.01714
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
# Function to find the mode, i.e. most frequent value
getMode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
getMode(pitches_by_innings)
[1] 10
getMode(hits_per_9innings)
[1] 11
getMode(strikes_by_innings)
[1] 9
#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")
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"
LS0tCnRpdGxlOiAiQWN0aXZpdHkgNCIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCgoKCgpgYGB7cn0KI0FkZGl0aW9uCjIrMwojU3VidHJhY3Rpb24KMi01CiNFeHBvbmVudHMKNV4zCmBgYAoKCmBgYHtyfQojbG9nCmxvZygxMCkKbG9nKDIuNzIsYmFzZSA9IDIuNzIpCmBgYAoKYGBge3J9CmxvZzEwKDEwKQoKYGBgCgpgYGB7cn0KbG9nMTAoMTApCmxvZzEwKDEwMCkKbG9nKDEwLGJhc2UgPSA1KQpgYGAKCmBgYHtyfQojQmF0dGluZyBBdmVyYWdlPShOby4gb2YgSGl0cykvKE5vLiBvZiBBdCBCYXRzKQojV2hhdCBpcyB0aGUgYmF0dGluZyBhdmVyYWdlIG9mIGEgcGxheWVyIHRoYXQgYmF0cyAyOSBoaXRzIGluIDExMiBhdCBiYXRzPwpCQT0oMjkpLygxMTIpCkJBCmBgYAoKCmBgYHtyfQpCYXR0aW5nX0F2ZXJhZ2U9cm91bmQoQkEsZGlnaXRzID0gMykKQmF0dGluZ19BdmVyYWdlCmBgYAoKCmBgYHtyfQojUXVlc3Rpb25fMjpXaGF0IGlzIHRoZSBiYXR0aW5nIGF2ZXJhZ2Ugb2YgYSBwbGF5ZXIgdGhhdCBiYXRzIDQyIGhpdHMgaW4gMjEyIGF0IGJhdHM/CkJBPSg0MikvKDIxMikKQmF0dGluZ19BdmVyYWdlPXJvdW5kKEJBLGRpZ2l0cyA9IDMpCkJhdHRpbmdfQXZlcmFnZQoKYGBgCgpgYGB7cn0KI09uIEJhc2UgUGVyY2VudGFnZQojT0JQPShIK0JCK0hCUCkvKEF0IEJhdHMrQkIrSEJQK1NGKQojTGV0IHVzIGNvbXB1dGUgdGhlIE9CUCBmb3IgYSBwbGF5ZXIgd2l0aCB0aGUgZm9sbG93aW5nIGdlbmVyYWwgc3RhdHMKI0FCPTUxNSxIPTE3MixCQj04NCxIQlA9NSxTRj02Ck9CUD0oMTcyKzg0KzUpLyg1MTUrODQrNSs2KQpPQlAKYGBgCgoKYGBge3J9Ck9uX0Jhc2VfUGVyY2VudGFnZT1yb3VuZChPQlAsZGlnaXRzID0gMykKT25fQmFzZV9QZXJjZW50YWdlCmBgYAoKCgpgYGB7cn0KI1F1ZXN0aW9uXzM6Q29tcHV0ZSB0aGUgT0JQIGZvciBhIHBsYXllciB3aXRoIHRoZSBmb2xsb3dpbmcgZ2VuZXJhbCBzdGF0czoKI0FCPTU2NSxIPTE1NixCQj02NSxIQlA9MyxTRj03CiNPQlA9KEgrQkIrSEJQKS8oQXQgQmF0cytCQitIQlArU0YpCk9CUD0oMTU2KzY1KzMpLyg1NjUrNjUrMys3KQpPbl9CYXNlX1BlcmNlbnRhZ2U9cm91bmQoT0JQLGRpZ2l0cyA9IDMpCk9uX0Jhc2VfUGVyY2VudGFnZQoKYGBgCgoKCmBgYHtyfQozIDw9IDgjIElzIDMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDg/CjM+PTUKMz09NQohRkFMU0UKIVRSVUUKYGBgCgoKYGBge3J9CiMgQ29tYmluYXRpb24gb2Ygc3RhdGVtZW50cwoyIDwgMyB8IDEgPT0gNSAjIDI8MyBpcyBUcnVlLCAxPT01IGlzIEZhbHNlLCBUcnVlIE9SIEZhbHNlIGlzIFRydWUKMj4zIHwgMj09MwoyPjEgJiAzPj0zCjI+MSAmIDM+PTQKYGBgCgpgYGB7cn0KVG90YWxfQmFzZXMgPC0gNiArIDUKVG90YWxfQmFzZXMqMwpgYGAKCmBgYHtyfQpscygpCmBgYAoKCmBgYHtyfQpybShUb3RhbF9CYXNlcykKYGBgCgoKYGBge3J9CmxzKCkKYGBgCgoKCmBgYHtyfQpwaXRjaGVzX2J5X2lubmluZ3MgPC0gYygxMiwgMTUsIDEwLCAyMCwgMTApIApwaXRjaGVzX2J5X2lubmluZ3MKYGBgCgoKYGBge3J9CnN0cmlrZXNfYnlfaW5uaW5ncyA8LSBjKDksIDEyLCA2LCAxNCwgOSkKc3RyaWtlc19ieV9pbm5pbmdzCmBgYAoKYGBge3J9CiNRdWVzdGlvbl80OiBEZWZpbmUgdHdvIHZlY3RvcnMscnVuc19wZXJfOWlubmluZ3MgYW5kIGhpdHNfcGVyXzlpbm5pbmdzLCBlYWNoIHdpdGggZml2ZSBlbGVtZW50cy4gCnJ1bnNfcGVyXzlpbm5pbmdzPC1jKDIsNSw3LDExLDEzKQpoaXRzX3Blcl85aW5uaW5nczwtYygxMSwxMywxNiwxOCwxOSkKcnVuc19wZXJfOWlubmluZ3MKaGl0c19wZXJfOWlubmluZ3MKYGBgCgoKYGBge3J9CnJlcCgzLDQpCmBgYAoKCmBgYHtyfQoyOjQKYGBgCgoKCmBgYHtyfQojU2VxdWVuY2UKc2VxKDEsMjAsIGJ5PTMpCmBgYAoKCmBgYHtyfQojIGFkZCB2ZWN0b3JzCnBpdGNoZXNfYnlfaW5uaW5ncytzdHJpa2VzX2J5X2lubmluZ3MKYGBgCgoKYGBge3J9CiMgY29tcGFyZSB2ZWN0b3JzCnBpdGNoZXNfYnlfaW5uaW5ncyA9PSBzdHJpa2VzX2J5X2lubmluZ3MKYGBgCgpgYGB7cn0KcnVuc19wZXJfOWlubmluZ3M9PWhpdHNfcGVyXzlpbm5pbmdzCmBgYAoKCgpgYGB7cn0KIyBJZiB5b3Ugd2FudCB0byBnZXQgdGhlIHNlY29uZCBlbGVtZW50OgpwaXRjaGVzX2J5X2lubmluZ3NbMl0KYGBgCgoKYGBge3J9CmhpdHNfcGVyXzlpbm5pbmdzWzFdCmBgYAoKYGBge3J9CmhpdHNfcGVyXzlpbm5pbmdzW2xlbmd0aChoaXRzX3Blcl85aW5uaW5ncyldCmBgYAoKCmBgYHtyfQpwaXRjaGVzX2J5X2lubmluZ3NbYygyLCAzLCA0KV0KYGBgCgoKCmBgYHtyfQpwbGF5ZXJfcG9zaXRpb25zIDwtIGMoImNhdGNoZXIiLCAicGl0Y2hlciIsICJpbmZpZWxkZXJzIiwgIm91dGZpZWxkZXJzIikKcGxheWVyX3Bvc2l0aW9ucwpgYGAKCgpgYGB7cn0KZGF0YS5mcmFtZShib251cyA9IGMoMiwgMywgMSksI2luIG1pbGxpb25zIAogICAgICAgICAgIGFjdGl2ZV9yb3N0ZXIgPSBjKCJ5ZXMiLCAibm8iLCAieWVzIiksIAogICAgICAgICAgIHNhbGFyeSA9IGMoMS41LCAyLjUsIDEpKSNpbiBtaWxsaW9ucyAKYGBgCgoKCgpgYGB7cn0Kc2FtcGxlKDE6MTAsIHNpemU9NSkKYGBgCgoKYGBge3J9CnggPC0gYygiWWVzIiwiTm8iLCJObyIsIlllcyIsIlllcyIpIAp0YWJsZSh4KQpgYGAKCmBgYHtyfQpzYWxzIDwtIGMoMTIsIC40LCA1LCAyLCA1MCwgOCwgMywgMSwgNCwgMC4yNSkKIyB0aGUgYXZlcmFnZQptZWFuKHNhbHMpCnZhcihzYWxzKQpzZChzYWxzKQptZWRpYW4oc2FscykKYGBgCgoKCmBgYHtyfQojIFR1a2V5J3MgZml2ZSBudW1iZXIgc3VtbWFyeSwgdXNlZnVsbCBmb3IgYm94cGxvdHMKIyBmaXZlIG51bWJlcnM6IG1pbiwgbG93ZXIgaGluZ2UsIG1lZGlhbiwgdXBwZXIgaGluZ2UsIG1heApmaXZlbnVtKHNhbHMpCmBgYAoKCgpgYGB7cn0KIyBzdW1tYXJ5IHN0YXRpc3RpY3MKc3VtbWFyeShzYWxzKQpgYGAKCgpgYGB7cn0KIyBGdW5jdGlvbiB0byBmaW5kIHRoZSBtb2RlLCBpLmUuIG1vc3QgZnJlcXVlbnQgdmFsdWUKZ2V0TW9kZSA8LSBmdW5jdGlvbih4KSB7CiAgICAgdXggPC0gdW5pcXVlKHgpCiAgICAgdXhbd2hpY2gubWF4KHRhYnVsYXRlKG1hdGNoKHgsIHV4KSkpXQogfQpgYGAKCgoKCgpgYGB7cn0KZ2V0TW9kZShwaXRjaGVzX2J5X2lubmluZ3MpCmdldE1vZGUoaGl0c19wZXJfOWlubmluZ3MpCmdldE1vZGUoc3RyaWtlc19ieV9pbm5pbmdzKQpgYGAKCgpgYGB7cn0KI1F1ZXN0aW9uXzg6IFN1bW1hcml6ZSB0aGUgZm9sbG93aW5nIHN1cnZleSB3aXRoIHRoZSBgdGFibGUoKWAgY29tbWFuZDoKI1doYXQgaXMgeW91ciBmYXZvcml0ZSBkYXkgb2YgdGhlIHdlZWsgdG8gd2F0Y2ggYmFzZWJhbGw/IEEgdG90YWwgb2YgMTAgZmFucyBzdWJtaXR0ZWQgdGhpcyBzdXJ2ZXkuCiNTYXR1cmRheSwgU2F0dXJkYXksIFN1bmRheSwgTW9uZGF5LCBTYXR1cmRheSxUdWVzZGF5LCBTdW5kYXksIEZyaWRheSwgRnJpZGF5LCBNb25kYXkKZ2FtZV9kYXk8LWMoIlNhdHVyZGF5IiwgIlNhdHVyZGF5IiwgIlN1bmRheSIsICJNb25kYXkiLCAiU2F0dXJkYXkiLCJUdWVzZGF5IiwgIlN1bmRheSIsICJGcmlkYXkiLCAiRnJpZGF5IiwgIk1vbmRheSIpCnRhYmxlKGdhbWVfZGF5KQpgYGAKCgoKYGBge3J9CiNRdWVzdGlvbl85OiBXaGF0IGlzIHRoZSBtb3N0IGZyZXF1ZW50IGFuc3dlciByZWNvcmRlZCBpbiB0aGUgc3VydmV5PyBVc2UgdGhlIGdldE1vZGUgZnVuY3Rpb24gdG8gY29tcHV0ZSByZXN1bHRzLiAKZ2V0TW9kZShnYW1lX2RheSkKYGBgCgoKCgoKCgoKCgoK