# 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"))
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 = (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
}
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 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 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