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.

FG_made <- c(18, 7, 6, 9, 10,13)
FG_attempted <- c(36, 23, 12, 18, 24,22)

FG_made
[1] 18  7  6  9 10 13
FG_attempted
[1] 36 23 12 18 24 22
# Field goal percentage for each game

avg_game <- round(FG_made/FG_attp,4)
avg_game
[1] 0.5000 0.3043 0.5000 0.5000 0.4167 0.5909

Per-game FG%:

Game 1: 18/36 = 50.0% Game 2: 7/23 ≈ 30.4% Game 3: 6/12 = 50.0% Game 4: 9/18 = 50.0% Game 5: 10/24 ≈ 41.7% Game 6: 13/22 ≈ 59.1%

# field goal percentage for the five games

avg_total <- round(sum(FG_made)/sum(FG_attempted),4)
avg_total
[1] 0.4667

Weighted FG% = 63 / 135 ≈ 46.7% (0.467)

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.

three_made <- c(3, 5, 10, 6, 3, 7, 1)
three_attempted <- c(9, 10, 18, 12, 11, 12, 11)

three_made
[1]  3  5 10  6  3  7  1
three_attempted
[1]  9 10 18 12 11 12 11
# Per-game three-point percentages

avg_game2 <- round(three_made/three_attempted,4)
avg_game2
[1] 0.3333 0.5000 0.5556 0.5000 0.2727 0.5833 0.0909

Per-game 3P%:

G1: 3/9 ≈ 33.33% G2: 5/10 = 50.00% G3: 10/18 ≈ 55.56% G4: 6/12 = 50.00% G5: 3/11 ≈ 27.27% G6: 7/12 ≈ 58.33% G7: 1/11 ≈ 9.09%

overall_avg <- round(mean(avg_game2),4)
overall_avg
[1] 0.4051

Cumulative 3P%: 40.51%

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).

PlayerID Hits At-Bats HR BB SO

1             112       400           25          50     60

2             124       450           22          60     65

3             121       380           8            19     67

4             106       500           20         150     92

5             140       402           11          55     70

Compute the On-Base Percentage (OBP) for each player and select the player with the highest OBP. Submit your code and knitted R HTML file or RPubs link as instructed.

(Formula: OBP = (Hits + Walks) / (At-Bats + Walks))

# Dataframe with the information
baseball_stats <- data.frame(
  PlayerID = 1:5,
  Hits     = c(112, 124, 121, 106, 140),
  AtBats   = c(400, 450, 380, 500, 402),
  HR       = c(25, 22, 8, 20, 11),
  BB       = c(50, 60, 19, 150, 55),
  SO       = c(60, 65, 67, 92, 70)
)

baseball_stats
# (Formula: OBP = (Hits + Walks) / (At-Bats + Walks))

baseball_stats$OBP <- round((baseball_stats$Hits + baseball_stats$BB) / (baseball_stats$AtBats + baseball_stats$BB),3)
baseball_stats

Player 5 has the highest OBP at 0.427

LS0tCnRpdGxlOiAiRXhhbSAyIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIFF1ZXN0aW9uIDUKCkNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBmaWVsZCBnb2FscyBtYWRlIGFuZCBhdHRlbXB0ZWQgYnkgYSBiYXNrZXRiYWxsIHBsYXllciBpbiBmaXZlIGdhbWVzOgoKRmllbGQgR29hbHMgTWFkZTogYygxOCwgNywgNiwgOSwgMTAsMTMpIEZpZWxkIEdvYWxzIEF0dGVtcHRlZDogYygzNiwgMjMsIDEyLCAxOCwgMjQsMjIpCgpDYWxjdWxhdGUgdGhlIGZpZWxkIGdvYWwgcGVyY2VudGFnZSBmb3IgZWFjaCBnYW1lIGFuZCBzZWxlY3QgdGhlIGNvcnJlY3QgYXZlcmFnZSBmaWVsZCBnb2FsIHBlcmNlbnRhZ2UgZm9yIHRoZSBmaXZlIGdhbWVzLgoKYGBge3J9CkZHX21hZGUgPC0gYygxOCwgNywgNiwgOSwgMTAsMTMpCkZHX2F0dGVtcHRlZCA8LSBjKDM2LCAyMywgMTIsIDE4LCAyNCwyMikKCkZHX21hZGUKRkdfYXR0ZW1wdGVkCmBgYAoKCmBgYHtyfQojIEZpZWxkIGdvYWwgcGVyY2VudGFnZSBmb3IgZWFjaCBnYW1lCgphdmdfZ2FtZSA8LSByb3VuZChGR19tYWRlL0ZHX2F0dHAsNCkKYXZnX2dhbWUKYGBgCgpQZXItZ2FtZSBGRyU6CgpHYW1lIDE6IDE4LzM2ID0gNTAuMCUKR2FtZSAyOiA3LzIzIOKJiCAzMC40JQpHYW1lIDM6IDYvMTIgPSA1MC4wJQpHYW1lIDQ6IDkvMTggPSA1MC4wJQpHYW1lIDU6IDEwLzI0IOKJiCA0MS43JQpHYW1lIDY6IDEzLzIyIOKJiCA1OS4xJQoKYGBge3J9CiMgZmllbGQgZ29hbCBwZXJjZW50YWdlIGZvciB0aGUgZml2ZSBnYW1lcwoKYXZnX3RvdGFsIDwtIHJvdW5kKHN1bShGR19tYWRlKS9zdW0oRkdfYXR0ZW1wdGVkKSw0KQphdmdfdG90YWwKYGBgCgpXZWlnaHRlZCBGRyUgPSA2MyAvIDEzNSDiiYggNDYuNyUgKDAuNDY3KQoKIyBRdWVzdGlvbiA2CgpDb25zaWRlciB0aGUgZm9sbG93aW5nIHZlY3RvcnMgaW4gUiByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiB0aHJlZS1wb2ludGVycyBtYWRlICgzUE0pIGFuZCBhdHRlbXB0ZWQgKDNQQSkgYnkgYSBiYXNrZXRiYWxsIHBsYXllciBvdmVyIGEgc2V2ZW4tZ2FtZSBzcGFuOgoKVGhyZWUtUG9pbnRlcnMgTWFkZTogYygzLCA1LCAxMCwgNiwgMywgNywgMSkKClRocmVlLVBvaW50ZXJzIEF0dGVtcHRlZDogYyg5LCAxMCwgMTgsIDEyLCAxMSwgMTIsIDExKQoKQ2FsY3VsYXRlIGJvdGggdGhlIGF2ZXJhZ2Ugb2YgdGhlIGluZGl2aWR1YWwgcGVyLWdhbWUgdGhyZWUtcG9pbnQgcGVyY2VudGFnZXMgYW5kIHRoZSBvdmVyYWxsIChjdW11bGF0aXZlKSB0aHJlZS1wb2ludCBzaG9vdGluZyBwZXJjZW50YWdlIGFjcm9zcyBhbGwgc2V2ZW4gZ2FtZXMuIFN1Ym1pdCB5b3VyIGNvZGUgYW5kIGtuaXR0ZWQgUiBIVE1MIGZpbGUgb3IgUlB1YnMgbGluayBhcyBpbnN0cnVjdGVkLgoKYGBge3J9CnRocmVlX21hZGUgPC0gYygzLCA1LCAxMCwgNiwgMywgNywgMSkKdGhyZWVfYXR0ZW1wdGVkIDwtIGMoOSwgMTAsIDE4LCAxMiwgMTEsIDEyLCAxMSkKCnRocmVlX21hZGUKdGhyZWVfYXR0ZW1wdGVkCmBgYAoKYGBge3J9CiMgUGVyLWdhbWUgdGhyZWUtcG9pbnQgcGVyY2VudGFnZXMKCmF2Z19nYW1lMiA8LSByb3VuZCh0aHJlZV9tYWRlL3RocmVlX2F0dGVtcHRlZCw0KQphdmdfZ2FtZTIKYGBgCgpQZXItZ2FtZSAzUCU6CgpHMTogMy85IOKJiCAzMy4zMyUKRzI6IDUvMTAgPSA1MC4wMCUKRzM6IDEwLzE4IOKJiCA1NS41NiUKRzQ6IDYvMTIgPSA1MC4wMCUKRzU6IDMvMTEg4omIIDI3LjI3JQpHNjogNy8xMiDiiYggNTguMzMlCkc3OiAxLzExIOKJiCA5LjA5JQoKCmBgYHtyfQpvdmVyYWxsX2F2ZyA8LSByb3VuZChtZWFuKGF2Z19nYW1lMiksNCkKb3ZlcmFsbF9hdmcKYGBgCgpDdW11bGF0aXZlIDNQJTogNDAuNTElCgoKIyBRdWVzdGlvbiA3CgpDb25zaWRlciB0aGUgZm9sbG93aW5nIGRhdGFzZXQgcmVwcmVzZW50aW5nIHRoZSBwZXJmb3JtYW5jZSBvZiBiYXNlYmFsbCBwbGF5ZXJzIGluIGEgc2Vhc29uLiBJdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczogUGxheWVySUQsIEhpdHMsIEF0LUJhdHMsIEhvbWUgUnVucyAoSFIpLCBXYWxrcyAoQkIpLCBhbmQgU3RyaWtlb3V0cyAoU08pLgoKUGxheWVySUQgICAgIEhpdHMgICAgQXQtQmF0cyAgICAgICAgSFIgICAgICAgIEJCICAgICBTTwoKICAgIDEgICAgICAgICAgICAgMTEyICAgICAgIDQwMCAgICAgICAgICAgMjUgICAgICAgICAgNTAgICAgIDYwCgogICAgMiAgICAgICAgICAgICAxMjQgICAgICAgNDUwICAgICAgICAgICAyMiAgICAgICAgICA2MCAgICAgNjUKCiAgICAzICAgICAgICAgICAgIDEyMSAgICAgICAzODAgICAgICAgICAgIDggICAgICAgICAgICAxOSAgICAgNjcKCiAgICA0ICAgICAgICAgICAgIDEwNiAgICAgICA1MDAgICAgICAgICAgIDIwICAgICAgICAgMTUwICAgICA5MgoKICAgIDUgICAgICAgICAgICAgMTQwICAgICAgIDQwMiAgICAgICAgICAgMTEgICAgICAgICAgNTUgICAgIDcwCgpDb21wdXRlIHRoZSBPbi1CYXNlIFBlcmNlbnRhZ2UgKE9CUCkgZm9yIGVhY2ggcGxheWVyIGFuZCBzZWxlY3QgdGhlIHBsYXllciB3aXRoIHRoZSBoaWdoZXN0IE9CUC4gU3VibWl0IHlvdXIgY29kZSBhbmQga25pdHRlZCBSIEhUTUwgZmlsZSBvciBSUHVicyBsaW5rIGFzIGluc3RydWN0ZWQuCgooRm9ybXVsYTogT0JQID0gKEhpdHMgKyBXYWxrcykgLyAoQXQtQmF0cyArIFdhbGtzKSkKCmBgYHtyfQojIERhdGFmcmFtZSB3aXRoIHRoZSBpbmZvcm1hdGlvbgpiYXNlYmFsbF9zdGF0cyA8LSBkYXRhLmZyYW1lKAogIFBsYXllcklEID0gMTo1LAogIEhpdHMgICAgID0gYygxMTIsIDEyNCwgMTIxLCAxMDYsIDE0MCksCiAgQXRCYXRzICAgPSBjKDQwMCwgNDUwLCAzODAsIDUwMCwgNDAyKSwKICBIUiAgICAgICA9IGMoMjUsIDIyLCA4LCAyMCwgMTEpLAogIEJCICAgICAgID0gYyg1MCwgNjAsIDE5LCAxNTAsIDU1KSwKICBTTyAgICAgICA9IGMoNjAsIDY1LCA2NywgOTIsIDcwKQopCgpiYXNlYmFsbF9zdGF0cwpgYGAKCmBgYHtyfQojIChGb3JtdWxhOiBPQlAgPSAoSGl0cyArIFdhbGtzKSAvIChBdC1CYXRzICsgV2Fsa3MpKQoKYmFzZWJhbGxfc3RhdHMkT0JQIDwtIHJvdW5kKChiYXNlYmFsbF9zdGF0cyRIaXRzICsgYmFzZWJhbGxfc3RhdHMkQkIpIC8gKGJhc2ViYWxsX3N0YXRzJEF0QmF0cyArIGJhc2ViYWxsX3N0YXRzJEJCKSwzKQpiYXNlYmFsbF9zdGF0cwpgYGAKClBsYXllciA1IGhhcyB0aGUgaGlnaGVzdCBPQlAgYXQgMC40MjcKCg==