delv.time <- read.csv("C:/Users/welcome/Downloads/MLR-Delivery Time.csv", header = T) # load data

attach(delv.time) # attach data

x <- model.matrix(DeliveryTime ~ Cases + Distance) # design matrix for independent variables

y <- DeliveryTime # dependent variable

detach(delv.time) # detach data
knitr::asis_output(htmltools::htmlPreserve("
<div>
    <div>block 2
    </div>
</div>
"))
block 2
betas <- solve(crossprod(x))%*%crossprod(x,y)

sy <- sum(y) # sigma of y

n <- length(y) # no. of observations 

SST <- t(y)%*%y-(sy*sy/n) # Total sum of sqaures

SSres <- t(y)%*%y-(t(betas)%*%crossprod(x,y)) # Sum of squares of residuals

SSreg <- SST - SSres  # Sum of squares of regression

sigmasqr <- SSres/(length(y) - 3)  # sigma squares or (MSE)

varofbeta <- sigmasqr[1]*solve(crossprod(x)) # variance of beta

cat("SST:", SST,"\nSSresiduals:", SSres, "\nSSregression:", SSreg)
## SST: 5784.543 
## SSresiduals: 233.7317 
## SSregression: 5550.811
print(betas)
##                   [,1]
## (Intercept) 2.34123115
## Cases       1.61590721
## Distance    0.01438483
print(varofbeta)
##               (Intercept)         Cases      Distance
## (Intercept)  1.2028170618 -0.0472625981 -8.889514e-04
## Cases       -0.0472625981  0.0291504123 -5.084417e-04
## Distance    -0.0008889514 -0.0005084417  1.305439e-05