getwd()
[1] "/cloud/project"
launch <- read.csv("challenger2.csv")
#View(launch)
# estimate beta manually
b <- cov(launch$temperature, launch$distress_ct) / var(launch$temperature) #help find Beta manually
b
[1] -0.03364796
a <- mean(launch$distress_ct) - b * mean(launch$temperature)
a
[1] 2.814585
r <- cov(launch$temperature, launch$distress_ct) /
       (sd(launch$temperature) * sd(launch$distress_ct)) #negative correlation between temperature and distress
r
[1] -0.3359996
#computing the slope using correlation
r*(sd(launch$distress_ct)/sd (launch$temperature))
[1] -0.03364796
model <- lm(distress_ct ~ temperature, data = launch) #the values obtain via the linear regression are similar to the one that we did manuelly 
model

Call:
lm(formula = distress_ct ~ temperature, data = launch)

Coefficients:
(Intercept)  temperature  
    2.81458     -0.03365  
summary(model)

Call:
lm(formula = distress_ct ~ temperature, data = launch)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0649 -0.4929 -0.2573  0.3052  1.7090 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  2.81458    1.24629   2.258   0.0322 *
temperature -0.03365    0.01815  -1.854   0.0747 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7076 on 27 degrees of freedom
Multiple R-squared:  0.1129,    Adjusted R-squared:  0.08004 
F-statistic: 3.436 on 1 and 27 DF,  p-value: 0.07474
#creating a SLR Function
reg<-function(y,x){
  x<-as.matrix(x)
  x<-cbind(intercept=1,x)
  b<-solve(t(x)%*%x)%*%t(x)%*%y
  colnames(b)<-"estimate"
  print(b)
}
str(launch)
'data.frame':   29 obs. of  4 variables:
 $ distress_ct         : int  0 1 0 0 0 0 0 0 1 1 ...
 $ temperature         : int  66 70 69 68 67 72 73 70 57 63 ...
 $ field_check_pressure: int  50 50 50 50 50 50 100 100 200 200 ...
 $ flight_num          : int  1 2 3 4 5 6 7 8 9 10 ...
reg(y=launch$distress_ct,x=launch[2])
               estimate
intercept    2.81458456
temperature -0.03364796
reg(y=launch$distress_ct,x=launch[2:4])
                          estimate
intercept             2.239817e+00
temperature          -3.124185e-02
field_check_pressure -2.586765e-05
flight_num            2.762455e-02
model<-lm(distress_ct~temperature+field_check_pressure+flight_num,data=launch)
model

Call:
lm(formula = distress_ct ~ temperature + field_check_pressure + 
    flight_num, data = launch)

Coefficients:
         (Intercept)           temperature  field_check_pressure            flight_num  
           2.240e+00            -3.124e-02            -2.587e-05             2.762e-02  
summary(model)

Call:
lm(formula = distress_ct ~ temperature + field_check_pressure + 
    flight_num, data = launch)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2744 -0.3335 -0.1657  0.2975  1.5284 

Coefficients:
                       Estimate Std. Error t value Pr(>|t|)  
(Intercept)           2.240e+00  1.267e+00   1.767   0.0894 .
temperature          -3.124e-02  1.787e-02  -1.748   0.0927 .
field_check_pressure -2.587e-05  2.383e-03  -0.011   0.9914  
flight_num            2.762e-02  1.798e-02   1.537   0.1369  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6926 on 25 degrees of freedom
Multiple R-squared:  0.2132,    Adjusted R-squared:  0.1188 
F-statistic: 2.259 on 3 and 25 DF,  p-value: 0.1063
LS0tCnRpdGxlOiAiUiBhY3Rpdml0eSA3IExSIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoKYGBge3J9CmdldHdkKCkKYGBgCgoKCmBgYHtyfQpsYXVuY2ggPC0gcmVhZC5jc3YoImNoYWxsZW5nZXIyLmNzdiIpCmBgYAoKCmBgYHtyfQojVmlldyhsYXVuY2gpCmBgYAoKCgpgYGB7cn0KIyBlc3RpbWF0ZSBiZXRhIG1hbnVhbGx5CmIgPC0gY292KGxhdW5jaCR0ZW1wZXJhdHVyZSwgbGF1bmNoJGRpc3RyZXNzX2N0KSAvIHZhcihsYXVuY2gkdGVtcGVyYXR1cmUpICNoZWxwIGZpbmQgQmV0YSBtYW51YWxseQpiCmBgYAoKCgoKYGBge3J9CmEgPC0gbWVhbihsYXVuY2gkZGlzdHJlc3NfY3QpIC0gYiAqIG1lYW4obGF1bmNoJHRlbXBlcmF0dXJlKQphCmBgYAoKCgpgYGB7cn0KciA8LSBjb3YobGF1bmNoJHRlbXBlcmF0dXJlLCBsYXVuY2gkZGlzdHJlc3NfY3QpIC8KICAgICAgIChzZChsYXVuY2gkdGVtcGVyYXR1cmUpICogc2QobGF1bmNoJGRpc3RyZXNzX2N0KSkgI25lZ2F0aXZlIGNvcnJlbGF0aW9uIGJldHdlZW4gdGVtcGVyYXR1cmUgYW5kIGRpc3RyZXNzCnIKYGBgCgoKYGBge3J9CiNjb21wdXRpbmcgdGhlIHNsb3BlIHVzaW5nIGNvcnJlbGF0aW9uCnIqKHNkKGxhdW5jaCRkaXN0cmVzc19jdCkvc2QgKGxhdW5jaCR0ZW1wZXJhdHVyZSkpCmBgYAoKCgpgYGB7cn0KbW9kZWwgPC0gbG0oZGlzdHJlc3NfY3QgfiB0ZW1wZXJhdHVyZSwgZGF0YSA9IGxhdW5jaCkgI3RoZSB2YWx1ZXMgb2J0YWluIHZpYSB0aGUgbGluZWFyIHJlZ3Jlc3Npb24gYXJlIHNpbWlsYXIgdG8gdGhlIG9uZSB0aGF0IHdlIGRpZCBtYW51ZWxseSAKbW9kZWwKYGBgCgoKCgoKYGBge3J9CnN1bW1hcnkobW9kZWwpCmBgYAoKYGBge3J9CiNjcmVhdGluZyBhIFNMUiBGdW5jdGlvbgpyZWc8LWZ1bmN0aW9uKHkseCl7CiAgeDwtYXMubWF0cml4KHgpCiAgeDwtY2JpbmQoaW50ZXJjZXB0PTEseCkKICBiPC1zb2x2ZSh0KHgpJSoleCklKiV0KHgpJSoleQogIGNvbG5hbWVzKGIpPC0iZXN0aW1hdGUiCiAgcHJpbnQoYikKfQpgYGAKCgpgYGB7cn0Kc3RyKGxhdW5jaCkKYGBgCgoKCmBgYHtyfQpyZWcoeT1sYXVuY2gkZGlzdHJlc3NfY3QseD1sYXVuY2hbMl0pCmBgYAoKCmBgYHtyfQpyZWcoeT1sYXVuY2gkZGlzdHJlc3NfY3QseD1sYXVuY2hbMjo0XSkKYGBgCgoKCgoKYGBge3J9Cm1vZGVsPC1sbShkaXN0cmVzc19jdH50ZW1wZXJhdHVyZStmaWVsZF9jaGVja19wcmVzc3VyZStmbGlnaHRfbnVtLGRhdGE9bGF1bmNoKQptb2RlbApgYGAKCmBgYHtyfQpzdW1tYXJ5KG1vZGVsKSAjdGhpcyBnaXZlIHVzZSB0aGUgc3VtbWFyeSBvZiB0aGUgZGF0YSBzZXQgcC12YWx1ZT0gMC4xMDYzICh0aGlzIHNob3dzIHRoYXQgdGhlIGRhdGEgaXMgbm90IHNpZ25pZmljYW50KQpgYGAKCg==