# import data

viral_drug <- read.csv(file.choose(), header = TRUE)

For convience column names have been changed from “viralcount”" to “y”" and “drug”" to “x”" respectively.

colnames(viral_drug) <- (c("y","x"))

Ybar and xbar

Means of dependent variable and independent variables are calculated.

#calculate ybar and xbar
viral_drug<- within(viral_drug, c(ybar <- mean(viral_drug[,1]),
                                     xbar <- mean(viral_drug[,2])))

sxy and sxx

sxy = (y-ybar)*(x-xbar).

sxx = (x-xbar)^2.

#calculate y-ybar, x-xbar, (y-ybar)*(x-xbar), (x-xbar)^2

# Create empty vectors for the above parameters
yybar <- rep(0, dim(viral_drug)[1])
xxbar <- rep(0, dim(viral_drug)[1])
sxy <- rep(0, dim(viral_drug)[1])
sxx <- rep(0,dim(viral_drug)[1])


for(i in 1:nrow(viral_drug)){
  
  yybar[i] <- viral_drug[,1][[i]] - viral_drug[,4][[i]]
  
  xxbar[i] <- viral_drug[,2][[i]] - viral_drug[,3][[i]]
  
  sxy[i] <- yybar[i]*xxbar[i]
  
  sxx[i] <- xxbar[i]^2
} 

b0hat and b1hat

b1 = sxy/sxx (b1 is calculated from the above sxy and sxx values).

b0 = ybar - b1*xbar.

#calculate b0 and b1
b1 <- sum(sxy)/sum(sxx)
b0 <- mean((mean(viral_drug[,4]) - b1*viral_drug[,3]))

yhat

yhat values are the predicted values.

yhat = b0 + b1*x

# calcualte yhat

yhat <-  rep(0, dim(viral_drug)[1])

for(i in 1:nrow(viral_drug)){
  
  yhat[i] <- b0 + b1*viral_drug[,2][[i]]
}
# combine all the vectors(yybar, xxbar, sxy, sxx, yhat) with viral_drug
viral_drug <- cbind(viral_drug, yybar, xxbar, sxy, sxx, yhat)

e and xe

e values are the residuals, which are difference of actual values and predicted values(e = y - yhat).

sum of both e and xe is zero.

# calculate e and xe 
viral_drug <- within(viral_drug, e <-viral_drug[,1] - viral_drug[,9])

viral_drug <- within(viral_drug, xe <- viral_drug[,10]*viral_drug[,2])

#print first 10 observations
head(viral_drug, n = 10)
##          y     x    xbar     ybar     yybar    xxbar         sxy
## 1  2158.70 15.50 13.3625 2131.358   27.3425   2.1375    58.44459
## 2  1678.15 23.75 13.3625 2131.358 -453.2075  10.3875 -4707.69291
## 3  2316.00  8.00 13.3625 2131.358  184.6425  -5.3625  -990.14541
## 4  2061.30 17.00 13.3625 2131.358  -70.0575   3.6375  -254.83416
## 5  2207.50  5.50 13.3625 2131.358   76.1425  -7.8625  -598.67041
## 6  1708.30 19.00 13.3625 2131.358 -423.0575   5.6375 -2384.98666
## 7  1784.70 24.00 13.3625 2131.358 -346.6575  10.6375 -3687.56916
## 8  2575.00  2.50 13.3625 2131.358  443.6425 -10.8625 -4819.06666
## 9  2357.90  7.50 13.3625 2131.358  226.5425  -5.8625 -1328.10541
## 10 2256.70 11.00 13.3625 2131.358  125.3425  -2.3625  -296.12166
##           sxx     yhat           e         xe
## 1    4.568906 2051.942  106.758301  1654.7537
## 2  107.900156 1745.425  -67.274574 -1597.7711
## 3   28.756406 2330.594  -14.593631  -116.7491
## 4   13.231406 1996.211   65.088687  1106.5077
## 5   61.818906 2423.478 -215.977609 -1187.8768
## 6   31.781406 1921.904 -213.604131 -4058.4785
## 7  113.156406 1736.136   48.563824  1165.5318
## 8  117.993906 2534.938   40.061618   100.1540
## 9   34.368906 2349.170    8.729573    65.4718
## 10   5.581406 2219.133   37.567141   413.2386