# Home-runs so far
HR_before <- c(11, 13, 12)
# Average Number of Home-runs per season wanted
wanted_HR <- 20
# Number of seasons
n_seasons <- 4
# Needed Home-runs on season 4
x_4 <- n_seasons*wanted_HR - sum(HR_before)
# Minimum number of Home-runs needed by Robert
x_4
[1] 44
# Robert's performance
Robert_HRs <- c(11, 13, 12,44)
# Find mean
mean(Robert_HRs)
[1] 20
# Find standard deviation
sd(Robert_HRs)
[1] 16.02082
# Find the maximum number of home-runs during the four seasons period
max(Robert_HRs)
[1] 44
# Find the minimum number of home-runs during the four seasons period
min(Robert_HRs)
[1] 11
summary(Robert_HRs)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  11.00   11.75   12.50   20.00   20.75   44.00 

Question 1 This is the sixth season of outfielder Juan Soto in the majors. If during the first five seasons he received 79,108,41,145 and 135 walks, how many does he need on this season for his overall number of walks per season to be at least 100?

Soto_Walks<-c(79,108,41,145,135)
wanted_walks<-100
number_seasons<-6
#Needed Walks on season 6
walks_6<-number_seasons*wanted_walks-sum(Soto_Walks)
walks_6
[1] 92

Case Scenario 2

n_1 <- 10
n_2 <- 4
y_1 <- 72000
y_2 <- 84000
# Mean salary overall
salary_ave <-  (n_1*y_1 + n_2*y_2)/(n_1+n_2)
salary_ave
[1] 75428.57
bp_1<-7
fp_1<-9
w_1<-102000
w_2<-91000
#Mean Salary Overall
w_salary_ave<-(bp_1*w_1+fp_1*w_2)/(bp_1+fp_1)
w_salary_ave
[1] 95812.5
getwd()
[1] "C:/Users/User/OneDrive/Desktop/MDC Data Analytics/Spring 2025/CAP4936"
# Load the data once
data <- read.csv("C:/Users/User/Downloads/allcontracts.csv", header = TRUE, sep = ",")
str(data)
'data.frame':   500 obs. of  1 variable:
 $ years: int  6 5 3 6 5 1 5 5 4 1 ...
contract_years <- data$years
contracts_mean <- round(mean(contract_years), digits = 2)
contracts_mean
[1] 3.46
#Median
contracts_median<-median(contract_years)
contracts_median
[1] 3
#Find the number of observations
contracts_n<-length(contract_years)
#Find the standard deviation
contracts_sd<-sd(contract_years)
contracts_w1sd<-sum((contract_years-contracts_mean)/contracts_sd<1)/contracts_n
#Percentage of observations within one sd from the mean
contracts_w1sd
[1] 0.842
#Difference from empirical
contracts_w1sd-0.68
[1] 0.162
#Within 2 sd
contracts_w2sd<-sum((contract_years-contracts_mean)/contracts_sd<2)/contracts_n
contracts_w2sd
[1] 1
#Difference from empirical
contracts_w2sd-0.95
[1] 0.05
#Within 3sd
contracts_w3sd<-sum((contract_years-contracts_mean)/contracts_sd<3)/contracts_n
contracts_w3sd
[1] 1
#Difference from empirical
contracts_w3sd-0.9973
[1] 0.0027

Create a Histogram

hist(contract_years, xlab = "Years Left in Contract", col = "green", border = "red", xlim = c(0,8), ylim = c(0,250), breaks = 3)

boxplot(contract_years, main="Years Left in Contract",ylab="Years")

boxplot(contract_years, main="Years Left in Contract",ylab="Years", col = "lightblue", border = "blue", horizontal = FALSE)

Question 3

# Load the data
doubles <- read.csv("C:/Users/User/Downloads/doubles_hit.csv", header = TRUE)
# Extract the column
doubles_hit <- doubles$doubles_hit
# Calculate mean and median, rounded
doubles_hit_mean <- round(mean(doubles_hit, na.rm = TRUE), 2)
doubles_hit_median <- round(median(doubles_hit, na.rm = TRUE), 1)
# Output
doubles_hit_mean
[1] 23.55
doubles_hit_median
[1] 23.5
doubles_hit_w1sd<-(sum(doubles_hit-doubles_hit_mean)/doubles_hit_sd<1)/doubles_hit_n
doubles_hit_w1sd
[1] 0.01
#Difference from empirical
doubles_hit_w1sd-0.68
[1] -0.67
doubles_hit_w2sd<-sum((doubles_hit-doubles_hit_mean)/doubles_hit_sd<2)/doubles_hit_n
doubles_hit_w2sd
[1] 1
doubles_hit_w2sd-0.95
[1] 0.05
doubles_hit_w3sd<-sum((doubles_hit-doubles_hit_mean)/doubles_hit_sd<3)/doubles_hit_n
doubles_hit_w3sd
[1] 1
#Difference from empirical
doubles_hit_w3sd-0.9973
[1] 0.0027

Histogram

hist(doubles_hit, xlab = "Number of Doubles", col = "blue", border = "lightblue", xlim = c(0,60), ylim = c(0,30), breaks = 7)

boxplot(doubles_hit, main="Boxplot of Doubles Hit by Player",ylab="Doubles", col = "blue", border = "lightblue")

LS0tDQp0aXRsZTogIkdldHRpbmcgU3RhcnRlZCB3aXRoIFI6IENvbmNlcHRzIGluIFNwb3J0cyBBbmFseXRpY3MiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCiMgSG9tZS1ydW5zIHNvIGZhcg0KSFJfYmVmb3JlIDwtIGMoMTEsIDEzLCAxMikNCiMgQXZlcmFnZSBOdW1iZXIgb2YgSG9tZS1ydW5zIHBlciBzZWFzb24gd2FudGVkDQp3YW50ZWRfSFIgPC0gMjANCiMgTnVtYmVyIG9mIHNlYXNvbnMNCm5fc2Vhc29ucyA8LSA0DQojIE5lZWRlZCBIb21lLXJ1bnMgb24gc2Vhc29uIDQNCnhfNCA8LSBuX3NlYXNvbnMqd2FudGVkX0hSIC0gc3VtKEhSX2JlZm9yZSkNCiMgTWluaW11bSBudW1iZXIgb2YgSG9tZS1ydW5zIG5lZWRlZCBieSBSb2JlcnQNCnhfNA0KYGBgDQoNCmBgYHtyfQ0KIyBSb2JlcnQncyBwZXJmb3JtYW5jZQ0KUm9iZXJ0X0hScyA8LSBjKDExLCAxMywgMTIsNDQpDQojIEZpbmQgbWVhbg0KbWVhbihSb2JlcnRfSFJzKQ0KYGBgDQoNCmBgYHtyfQ0KIyBGaW5kIHN0YW5kYXJkIGRldmlhdGlvbg0Kc2QoUm9iZXJ0X0hScykNCmBgYA0KDQpgYGB7cn0NCiMgRmluZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaG9tZS1ydW5zIGR1cmluZyB0aGUgZm91ciBzZWFzb25zIHBlcmlvZA0KbWF4KFJvYmVydF9IUnMpDQpgYGANCg0KYGBge3J9DQojIEZpbmQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGhvbWUtcnVucyBkdXJpbmcgdGhlIGZvdXIgc2Vhc29ucyBwZXJpb2QNCm1pbihSb2JlcnRfSFJzKQ0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShSb2JlcnRfSFJzKQ0KYGBgDQoNCioqUXVlc3Rpb24gMSoqDQpUaGlzIGlzIHRoZSBzaXh0aCBzZWFzb24gb2Ygb3V0ZmllbGRlciBKdWFuIFNvdG8gaW4gdGhlIG1ham9ycy4gSWYgZHVyaW5nIHRoZSANCmZpcnN0IGZpdmUgc2Vhc29ucyBoZSByZWNlaXZlZCA3OSwxMDgsNDEsMTQ1IGFuZCAxMzUgd2Fsa3MsIGhvdyBtYW55IGRvZXMgaGUgDQpuZWVkIG9uIHRoaXMgc2Vhc29uIGZvciBoaXMgb3ZlcmFsbCBudW1iZXIgb2Ygd2Fsa3MgcGVyIHNlYXNvbiB0byBiZSBhdCANCmxlYXN0IDEwMD8NCg0KYGBge3J9DQpTb3RvX1dhbGtzPC1jKDc5LDEwOCw0MSwxNDUsMTM1KQ0Kd2FudGVkX3dhbGtzPC0xMDANCm51bWJlcl9zZWFzb25zPC02DQojTmVlZGVkIFdhbGtzIG9uIHNlYXNvbiA2DQp3YWxrc182PC1udW1iZXJfc2Vhc29ucyp3YW50ZWRfd2Fsa3Mtc3VtKFNvdG9fV2Fsa3MpDQp3YWxrc182DQpgYGANCg0KKipDYXNlIFNjZW5hcmlvIDIqKg0KDQpgYGB7cn0NCm5fMSA8LSAxMA0Kbl8yIDwtIDQNCnlfMSA8LSA3MjAwMA0KeV8yIDwtIDg0MDAwDQojIE1lYW4gc2FsYXJ5IG92ZXJhbGwNCnNhbGFyeV9hdmUgPC0gIChuXzEqeV8xICsgbl8yKnlfMikvKG5fMStuXzIpDQpzYWxhcnlfYXZlDQpgYGANCg0KYGBge3J9DQpicF8xPC03DQpmcF8xPC05DQp3XzE8LTEwMjAwMA0Kd18yPC05MTAwMA0KI01lYW4gU2FsYXJ5IE92ZXJhbGwNCndfc2FsYXJ5X2F2ZTwtKGJwXzEqd18xK2ZwXzEqd18yKS8oYnBfMStmcF8xKQ0Kd19zYWxhcnlfYXZlDQpgYGANCg0KDQpgYGB7cn0NCmdldHdkKCkNCmBgYA0KDQpgYGB7cn0NCiMgTG9hZCB0aGUgZGF0YSBvbmNlDQpkYXRhIDwtIHJlYWQuY3N2KCJDOi9Vc2Vycy9Vc2VyL0Rvd25sb2Fkcy9hbGxjb250cmFjdHMuY3N2IiwgaGVhZGVyID0gVFJVRSwgc2VwID0gIiwiKQ0KYGBgDQoNCg0KYGBge3J9DQpzdHIoZGF0YSkNCmBgYA0KDQpgYGB7cn0NCmNvbnRyYWN0X3llYXJzIDwtIGRhdGEkeWVhcnMNCmBgYA0KDQpgYGB7cn0NCmNvbnRyYWN0c19tZWFuIDwtIHJvdW5kKG1lYW4oY29udHJhY3RfeWVhcnMpLCBkaWdpdHMgPSAyKQ0KY29udHJhY3RzX21lYW4NCmBgYA0KDQpgYGB7cn0NCiNNZWRpYW4NCmNvbnRyYWN0c19tZWRpYW48LW1lZGlhbihjb250cmFjdF95ZWFycykNCmNvbnRyYWN0c19tZWRpYW4NCmBgYA0KDQpgYGB7cn0NCiNGaW5kIHRoZSBudW1iZXIgb2Ygb2JzZXJ2YXRpb25zDQpjb250cmFjdHNfbjwtbGVuZ3RoKGNvbnRyYWN0X3llYXJzKQ0KI0ZpbmQgdGhlIHN0YW5kYXJkIGRldmlhdGlvbg0KY29udHJhY3RzX3NkPC1zZChjb250cmFjdF95ZWFycykNCmBgYA0KDQpgYGB7cn0NCmNvbnRyYWN0c193MXNkPC1zdW0oKGNvbnRyYWN0X3llYXJzLWNvbnRyYWN0c19tZWFuKS9jb250cmFjdHNfc2Q8MSkvY29udHJhY3RzX24NCiNQZXJjZW50YWdlIG9mIG9ic2VydmF0aW9ucyB3aXRoaW4gb25lIHNkIGZyb20gdGhlIG1lYW4NCmNvbnRyYWN0c193MXNkDQpgYGANCg0KYGBge3J9DQojRGlmZmVyZW5jZSBmcm9tIGVtcGlyaWNhbA0KY29udHJhY3RzX3cxc2QtMC42OA0KYGBgDQoNCmBgYHtyfQ0KI1dpdGhpbiAyIHNkDQpjb250cmFjdHNfdzJzZDwtc3VtKChjb250cmFjdF95ZWFycy1jb250cmFjdHNfbWVhbikvY29udHJhY3RzX3NkPDIpL2NvbnRyYWN0c19uDQpjb250cmFjdHNfdzJzZA0KYGBgDQoNCmBgYHtyfQ0KI0RpZmZlcmVuY2UgZnJvbSBlbXBpcmljYWwNCmNvbnRyYWN0c193MnNkLTAuOTUNCmBgYA0KDQpgYGB7cn0NCiNXaXRoaW4gM3NkDQpjb250cmFjdHNfdzNzZDwtc3VtKChjb250cmFjdF95ZWFycy1jb250cmFjdHNfbWVhbikvY29udHJhY3RzX3NkPDMpL2NvbnRyYWN0c19uDQpjb250cmFjdHNfdzNzZA0KYGBgDQoNCmBgYHtyfQ0KI0RpZmZlcmVuY2UgZnJvbSBlbXBpcmljYWwNCmNvbnRyYWN0c193M3NkLTAuOTk3Mw0KYGBgDQoqKkNyZWF0ZSBhIEhpc3RvZ3JhbSoqDQoNCmBgYHtyfQ0KaGlzdChjb250cmFjdF95ZWFycywgeGxhYiA9ICJZZWFycyBMZWZ0IGluIENvbnRyYWN0IiwgY29sID0gImdyZWVuIiwgYm9yZGVyID0gInJlZCIsIHhsaW0gPSBjKDAsOCksIHlsaW0gPSBjKDAsMjUwKSwgYnJlYWtzID0gMykNCmBgYA0KDQpgYGB7cn0NCmJveHBsb3QoY29udHJhY3RfeWVhcnMsIG1haW49IlllYXJzIExlZnQgaW4gQ29udHJhY3QiLHlsYWI9IlllYXJzIikNCmBgYA0KDQpgYGB7cn0NCmJveHBsb3QoY29udHJhY3RfeWVhcnMsIG1haW49IlllYXJzIExlZnQgaW4gQ29udHJhY3QiLHlsYWI9IlllYXJzIiwgY29sID0gImxpZ2h0Ymx1ZSIsIGJvcmRlciA9ICJibHVlIiwgaG9yaXpvbnRhbCA9IEZBTFNFKQ0KYGBgDQoNCg0KKipRdWVzdGlvbiAzKioNCg0KYGBge3J9DQojIExvYWQgdGhlIGRhdGENCmRvdWJsZXMgPC0gcmVhZC5jc3YoIkM6L1VzZXJzL1VzZXIvRG93bmxvYWRzL2RvdWJsZXNfaGl0LmNzdiIsIGhlYWRlciA9IFRSVUUpDQpgYGANCg0KYGBge3J9DQojIEV4dHJhY3QgdGhlIGNvbHVtbg0KZG91Ymxlc19oaXQgPC0gZG91YmxlcyRkb3VibGVzX2hpdA0KYGBgDQoNCmBgYHtyfQ0KIyBDYWxjdWxhdGUgbWVhbiBhbmQgbWVkaWFuLCByb3VuZGVkDQpkb3VibGVzX2hpdF9tZWFuIDwtIHJvdW5kKG1lYW4oZG91Ymxlc19oaXQsIG5hLnJtID0gVFJVRSksIDIpDQpkb3VibGVzX2hpdF9tZWRpYW4gPC0gcm91bmQobWVkaWFuKGRvdWJsZXNfaGl0LCBuYS5ybSA9IFRSVUUpLCAxKQ0KYGBgDQoNCmBgYHtyfQ0KIyBPdXRwdXQNCmRvdWJsZXNfaGl0X21lYW4NCmRvdWJsZXNfaGl0X21lZGlhbg0KYGBgDQoNCmBgYHtyfQ0KZG91Ymxlc19oaXRfdzFzZDwtKHN1bShkb3VibGVzX2hpdC1kb3VibGVzX2hpdF9tZWFuKS9kb3VibGVzX2hpdF9zZDwxKS9kb3VibGVzX2hpdF9uDQpkb3VibGVzX2hpdF93MXNkDQpgYGANCg0KDQpgYGB7cn0NCiNEaWZmZXJlbmNlIGZyb20gZW1waXJpY2FsDQpkb3VibGVzX2hpdF93MXNkLTAuNjgNCmBgYA0KYGBge3J9DQpkb3VibGVzX2hpdF93MnNkPC1zdW0oKGRvdWJsZXNfaGl0LWRvdWJsZXNfaGl0X21lYW4pL2RvdWJsZXNfaGl0X3NkPDIpL2RvdWJsZXNfaGl0X24NCmRvdWJsZXNfaGl0X3cyc2QNCmBgYA0KDQpgYGB7cn0NCmRvdWJsZXNfaGl0X3cyc2QtMC45NQ0KYGBgDQoNCmBgYHtyfQ0KZG91Ymxlc19oaXRfdzNzZDwtc3VtKChkb3VibGVzX2hpdC1kb3VibGVzX2hpdF9tZWFuKS9kb3VibGVzX2hpdF9zZDwzKS9kb3VibGVzX2hpdF9uDQpkb3VibGVzX2hpdF93M3NkDQpgYGANCg0KYGBge3J9DQojRGlmZmVyZW5jZSBmcm9tIGVtcGlyaWNhbA0KZG91Ymxlc19oaXRfdzNzZC0wLjk5NzMNCmBgYA0KDQoqKkhpc3RvZ3JhbSoqDQoNCmBgYHtyfQ0KaGlzdChkb3VibGVzX2hpdCwgeGxhYiA9ICJOdW1iZXIgb2YgRG91YmxlcyIsIGNvbCA9ICJibHVlIiwgYm9yZGVyID0gImxpZ2h0Ymx1ZSIsIHhsaW0gPSBjKDAsNjApLCB5bGltID0gYygwLDMwKSwgYnJlYWtzID0gNykNCmBgYA0KDQpgYGB7cn0NCmJveHBsb3QoZG91Ymxlc19oaXQsIG1haW49IkJveHBsb3Qgb2YgRG91YmxlcyBIaXQgYnkgUGxheWVyIix5bGFiPSJEb3VibGVzIiwgY29sID0gImJsdWUiLCBib3JkZXIgPSAibGlnaHRibHVlIikNCmBgYA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K