Question 5
fg_made <- c(18, 7, 6, 9, 10, 13)
fg_attempted <- c(36, 23, 12, 18, 24, 22)
fg_percentage <- fg_made / fg_attempted
fg_percentage
[1] 0.5000000 0.3043478 0.5000000 0.5000000 0.4166667 0.5909091
mean(fg_percentage)
[1] 0.4686539
Question 6
# Three-pointers made and attempted
threePM <- c(3, 5, 10, 6, 3, 7, 1)
threePA <- c(9, 10, 18, 12, 11, 12, 11)
# Per-game three-point percentages
threeP_pct <- threePM / threePA
threeP_pct
[1] 0.33333333 0.50000000 0.55555556 0.50000000 0.27272727 0.58333333 0.09090909
# Average of the individual per-game percentages
avg_per_game_pct <- mean(threeP_pct)
avg_per_game_pct
[1] 0.4051227
# Overall (cumulative) three-point percentage
overall_pct <- sum(threePM) / sum(threePA)
overall_pct
[1] 0.4216867
# Display as percentages
avg_per_game_pct * 100
[1] 40.51227
overall_pct * 100
[1] 42.16867
Question 7
# Player data
PlayerID <- c(1, 2, 3, 4, 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)
# Calculate On-Base Percentage (OBP)
OBP <- (Hits + BB) / (AtBats + BB)
# Create a data frame
players <- data.frame(PlayerID, Hits, AtBats, HR, BB, SO, OBP)
# Display the data
players
# Find the player with the highest OBP
players[which.max(players$OBP), ]
NA
LS0tCnRpdGxlOiAiRXhhbSAyIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCiAKClF1ZXN0aW9uIDUKYGBge3J9CmZnX21hZGUgPC0gYygxOCwgNywgNiwgOSwgMTAsIDEzKQpmZ19hdHRlbXB0ZWQgPC0gYygzNiwgMjMsIDEyLCAxOCwgMjQsIDIyKQoKZmdfcGVyY2VudGFnZSA8LSBmZ19tYWRlIC8gZmdfYXR0ZW1wdGVkCmZnX3BlcmNlbnRhZ2UKCm1lYW4oZmdfcGVyY2VudGFnZSkKYGBgCgoKUXVlc3Rpb24gNgoKCmBgYHtyfQojIFRocmVlLXBvaW50ZXJzIG1hZGUgYW5kIGF0dGVtcHRlZAp0aHJlZVBNIDwtIGMoMywgNSwgMTAsIDYsIDMsIDcsIDEpCnRocmVlUEEgPC0gYyg5LCAxMCwgMTgsIDEyLCAxMSwgMTIsIDExKQoKIyBQZXItZ2FtZSB0aHJlZS1wb2ludCBwZXJjZW50YWdlcwp0aHJlZVBfcGN0IDwtIHRocmVlUE0gLyB0aHJlZVBBCnRocmVlUF9wY3QKCiMgQXZlcmFnZSBvZiB0aGUgaW5kaXZpZHVhbCBwZXItZ2FtZSBwZXJjZW50YWdlcwphdmdfcGVyX2dhbWVfcGN0IDwtIG1lYW4odGhyZWVQX3BjdCkKYXZnX3Blcl9nYW1lX3BjdAoKIyBPdmVyYWxsIChjdW11bGF0aXZlKSB0aHJlZS1wb2ludCBwZXJjZW50YWdlCm92ZXJhbGxfcGN0IDwtIHN1bSh0aHJlZVBNKSAvIHN1bSh0aHJlZVBBKQpvdmVyYWxsX3BjdAoKIyBEaXNwbGF5IGFzIHBlcmNlbnRhZ2VzCmF2Z19wZXJfZ2FtZV9wY3QgKiAxMDAKb3ZlcmFsbF9wY3QgKiAxMDAKYGBgCgoKUXVlc3Rpb24gNwoKCgpgYGB7cn0KIyBQbGF5ZXIgZGF0YQpQbGF5ZXJJRCA8LSBjKDEsIDIsIDMsIDQsIDUpCkhpdHMgPC0gYygxMTIsIDEyNCwgMTIxLCAxMDYsIDE0MCkKQXRCYXRzIDwtIGMoNDAwLCA0NTAsIDM4MCwgNTAwLCA0MDIpCkhSIDwtIGMoMjUsIDIyLCA4LCAyMCwgMTEpCkJCIDwtIGMoNTAsIDYwLCAxOSwgMTUwLCA1NSkKU08gPC0gYyg2MCwgNjUsIDY3LCA5MiwgNzApCgojIENhbGN1bGF0ZSBPbi1CYXNlIFBlcmNlbnRhZ2UgKE9CUCkKT0JQIDwtIChIaXRzICsgQkIpIC8gKEF0QmF0cyArIEJCKQoKIyBDcmVhdGUgYSBkYXRhIGZyYW1lCnBsYXllcnMgPC0gZGF0YS5mcmFtZShQbGF5ZXJJRCwgSGl0cywgQXRCYXRzLCBIUiwgQkIsIFNPLCBPQlApCgojIERpc3BsYXkgdGhlIGRhdGEKcGxheWVycwoKIyBGaW5kIHRoZSBwbGF5ZXIgd2l0aCB0aGUgaGlnaGVzdCBPQlAKcGxheWVyc1t3aGljaC5tYXgocGxheWVycyRPQlApLCBdCgpgYGAKCgoKCmBgYHtyfQoKYGBgCgoKCgoKYGBge3J9CgpgYGAKCgoKCgpgYGB7cn0KCmBgYAoKCgoKCmBgYHtyfQoKYGBg