Question 5 Consider the following vectors representing the number of field goals made and attempted by a basketball player in five games:

Field Goals Made: c(18, 7, 6, 9, 10,13) Field Goals Attempted: c(36, 23, 12, 18, 24,22)

Calculate the field goal percentage for each game and select the correct average field goal percentage for the five games.

# Create field goals made vector
FGM <- c(18, 7, 6, 9, 10,13)

# Create field goals attempts vector
FGA <- c(36, 23, 12, 18, 24,22)

avg_per_game <- round(FGM/FGA, 3)
avg_per_game
[1] 0.500 0.304 0.500 0.500 0.417 0.591
overall_avg<-round(mean(avg_per_game),2)
overall_avg
[1] 0.49

Question 6

Consider the following vectors in R representing the number of three-pointers made (3PM) and attempted (3PA) by a basketball player over a seven-game span:

Three-Pointers Made: c(3, 5, 10, 6, 3, 7, 1)

Three-Pointers Attempted: c(9, 10, 18, 12, 11, 12, 11)

Calculate both the average of the individual per-game three-point percentages and the overall (cumulative) three-point shooting percentage across all seven games. Submit your code and knitted R HTML file or RPubs link as instructed.

# Create three point made vector
TPM <- c(4, 5, 3, 6, 7)

# Create three point attempts vector
TPA <- c(9, 10, 8, 11, 12)

avg_per_game <- round(TPM/TPA, 3)
avg_per_game
[1] 0.444 0.500 0.375 0.545 0.583
overall_total<-round(sum(TPM)/sum(TPA),3)
overall_total
[1] 0.5

Question 7

Consider the following dataset representing the performance of baseball players in a season. It includes the following variables: PlayerID, Hits, At-Bats, Home Runs (HR), Walks (BB), and Strikeouts (SO).

# Create table
Q7.df <- data.frame(
  player_id = c(1, 2, 3, 4, 5),   # Player ID vector
  hits = c(112, 124, 121, 106, 140),  # Hits vector
  at_bats = c(400, 450, 380, 500, 402), # At-Bats vector
  HR = c(25, 22, 8, 20, 11),      # Home Runs vector
  BB = c(50, 60, 19, 150, 55),    # Walks vector
  SO = c(60, 65, 67, 92, 70)      # Strikeouts vector
)

# Add OBP column: OBP = (Hits + Walks) / (At-Bats + Walks)
Q7.df$OBP <- (Q7.df$hits + Q7.df$BB) / (Q7.df$at_bats + Q7.df$BB)

Q7.df # Probably overkill but in a real life setting I would create a df
NA
# Find the player with the highest OBP
Q7.df$player_id[which.max(Q7.df$OBP)]
[1] 5

Player ID 5 has the highest OBP.

LS0tCnRpdGxlOiAiRXhhbSAyIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoKCioqUXVlc3Rpb24gNSoqCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBmaWVsZCBnb2FscyBtYWRlIGFuZCBhdHRlbXB0ZWQgYnkgYSBiYXNrZXRiYWxsIHBsYXllciBpbiBmaXZlIGdhbWVzOgoKRmllbGQgR29hbHMgTWFkZTogYygxOCwgNywgNiwgOSwgMTAsMTMpIEZpZWxkIEdvYWxzIEF0dGVtcHRlZDogYygzNiwgMjMsIDEyLCAxOCwgMjQsMjIpCgpDYWxjdWxhdGUgdGhlIGZpZWxkIGdvYWwgcGVyY2VudGFnZSBmb3IgZWFjaCBnYW1lIGFuZCBzZWxlY3QgdGhlIGNvcnJlY3QgYXZlcmFnZSBmaWVsZCBnb2FsIHBlcmNlbnRhZ2UgZm9yIHRoZSBmaXZlIGdhbWVzLgoKCgpgYGB7cn0KIyBDcmVhdGUgZmllbGQgZ29hbHMgbWFkZSB2ZWN0b3IKRkdNIDwtIGMoMTgsIDcsIDYsIDksIDEwLDEzKQoKIyBDcmVhdGUgZmllbGQgZ29hbHMgYXR0ZW1wdHMgdmVjdG9yCkZHQSA8LSBjKDM2LCAyMywgMTIsIDE4LCAyNCwyMikKCmF2Z19wZXJfZ2FtZSA8LSByb3VuZChGR00vRkdBLCAzKQphdmdfcGVyX2dhbWUKCgpgYGAKCmBgYHtyfQpvdmVyYWxsX2F2Zzwtcm91bmQobWVhbihhdmdfcGVyX2dhbWUpLDIpCm92ZXJhbGxfYXZnCmBgYAoKCioqUXVlc3Rpb24gNioqCgpDb25zaWRlciB0aGUgZm9sbG93aW5nIHZlY3RvcnMgaW4gUiByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiB0aHJlZS1wb2ludGVycyBtYWRlICgzUE0pIGFuZCBhdHRlbXB0ZWQgKDNQQSkgYnkgYSBiYXNrZXRiYWxsIHBsYXllciBvdmVyIGEgc2V2ZW4tZ2FtZSBzcGFuOgoKVGhyZWUtUG9pbnRlcnMgTWFkZTogYygzLCA1LCAxMCwgNiwgMywgNywgMSkKClRocmVlLVBvaW50ZXJzIEF0dGVtcHRlZDogYyg5LCAxMCwgMTgsIDEyLCAxMSwgMTIsIDExKQoKQ2FsY3VsYXRlIGJvdGggdGhlIGF2ZXJhZ2Ugb2YgdGhlIGluZGl2aWR1YWwgcGVyLWdhbWUgdGhyZWUtcG9pbnQgcGVyY2VudGFnZXMgYW5kIHRoZSBvdmVyYWxsIChjdW11bGF0aXZlKSB0aHJlZS1wb2ludCBzaG9vdGluZyBwZXJjZW50YWdlIGFjcm9zcyBhbGwgc2V2ZW4gZ2FtZXMuIFN1Ym1pdCB5b3VyIGNvZGUgYW5kIGtuaXR0ZWQgUiBIVE1MIGZpbGUgb3IgUlB1YnMgbGluayBhcyBpbnN0cnVjdGVkLgoKYGBge3J9CiMgQ3JlYXRlIHRocmVlIHBvaW50IG1hZGUgdmVjdG9yClRQTSA8LSBjKDQsIDUsIDMsIDYsIDcpCgojIENyZWF0ZSB0aHJlZSBwb2ludCBhdHRlbXB0cyB2ZWN0b3IKVFBBIDwtIGMoOSwgMTAsIDgsIDExLCAxMikKCmF2Z19wZXJfZ2FtZSA8LSByb3VuZChUUE0vVFBBLCAzKQphdmdfcGVyX2dhbWUKYGBgCgoKYGBge3J9Cm92ZXJhbGxfdG90YWw8LXJvdW5kKHN1bShUUE0pL3N1bShUUEEpLDMpCm92ZXJhbGxfdG90YWwKYGBgCgoKKipRdWVzdGlvbiA3KioKCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgZGF0YXNldCByZXByZXNlbnRpbmcgdGhlIHBlcmZvcm1hbmNlIG9mIGJhc2ViYWxsIHBsYXllcnMgaW4gYSBzZWFzb24uIEl0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzOiBQbGF5ZXJJRCwgSGl0cywgQXQtQmF0cywgSG9tZSBSdW5zIChIUiksIFdhbGtzIChCQiksIGFuZCBTdHJpa2VvdXRzIChTTykuCgpgYGB7cn0KIyBDcmVhdGUgdGFibGUKUTcuZGYgPC0gZGF0YS5mcmFtZSgKICBwbGF5ZXJfaWQgPSBjKDEsIDIsIDMsIDQsIDUpLCAgICMgUGxheWVyIElEIHZlY3RvcgogIGhpdHMgPSBjKDExMiwgMTI0LCAxMjEsIDEwNiwgMTQwKSwgICMgSGl0cyB2ZWN0b3IKICBhdF9iYXRzID0gYyg0MDAsIDQ1MCwgMzgwLCA1MDAsIDQwMiksICMgQXQtQmF0cyB2ZWN0b3IKICBIUiA9IGMoMjUsIDIyLCA4LCAyMCwgMTEpLCAgICAgICMgSG9tZSBSdW5zIHZlY3RvcgogIEJCID0gYyg1MCwgNjAsIDE5LCAxNTAsIDU1KSwgICAgIyBXYWxrcyB2ZWN0b3IKICBTTyA9IGMoNjAsIDY1LCA2NywgOTIsIDcwKSAgICAgICMgU3RyaWtlb3V0cyB2ZWN0b3IKKQoKIyBBZGQgT0JQIGNvbHVtbjogT0JQID0gKEhpdHMgKyBXYWxrcykgLyAoQXQtQmF0cyArIFdhbGtzKQpRNy5kZiRPQlAgPC0gKFE3LmRmJGhpdHMgKyBRNy5kZiRCQikgLyAoUTcuZGYkYXRfYmF0cyArIFE3LmRmJEJCKQoKUTcuZGYgIyBQcm9iYWJseSBvdmVya2lsbCwgYnV0IGluIGEgcmVhbCBsaWZlIHNldHRpbmcgSSB3b3VsZCBjcmVhdGUgYSBkZiBmb3IgcmVjYWxsCgpgYGAKYGBge3J9CiMgRmluZCB0aGUgcGxheWVyIHdpdGggdGhlIGhpZ2hlc3QgT0JQClE3LmRmJHBsYXllcl9pZFt3aGljaC5tYXgoUTcuZGYkT0JQKV0KYGBgClBsYXllciBJRCA1IGhhcyB0aGUgaGlnaGVzdCBPQlAuCgoKCgoK