This report provides an exploratory data analysis of the ToothGrowth dataset available in the datasets package of R.

This dataset refers to the study by Crampton, E.W. “The growth of the odontoblasts of the incisor tooth as a criterion of the vitamin C intake of the guinea pig”, published in The Journal of Nutrition, vol. 33, issue 5, May 1947, pp. 491-504. The Crampton paper says that there are \(60\) distinct guinea pigs such that each guinea pig was given one of 3 different doses of Vitamin C: 0.5mg, 1.0mg, and 2.0mg and with one of two different supplement methods: OJ ( orange juice) and VC (aquueous solution of ascorbic acid).

Each guinea pig was sacrificed and its tooth was extracted and the length of the odontoplast was measured under the microscope in microns.

Thus, we have \(6\) treatments and each treatment has \(10\) guinea pigs.

The data.format shows that there are \(60\) distinct observations and \(3\) distinct variables len, supp and dose. See the head and the tail of the ToothGrowth dataset below.

head(ToothGrowth, 3)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
tail(ToothGrowth, 3)
##     len supp dose
## 58 27.3   OJ    2
## 59 29.4   OJ    2
## 60 23.0   OJ    2
tg <- summary(ToothGrowth)
tg
##       len        supp         dose      
##  Min.   : 4.20   OJ:30   Min.   :0.500  
##  1st Qu.:13.07   VC:30   1st Qu.:0.500  
##  Median :19.25           Median :1.000  
##  Mean   :18.81           Mean   :1.167  
##  3rd Qu.:25.27           3rd Qu.:2.000  
##  Max.   :33.90           Max.   :2.000

The summary function in R shows that the length of the odontoblasts ranges from 4.2 microns to 33.9 microns. The mean is almost half-way of this min-max range at 18.81 microns and it differs from the median by 0.44 microns.

library(graphics)
coplot(len ~dose | supp, data=ToothGrowth, 
       panel = panel.smooth,
       col = "salmon",
       pch=10,
       bar.bg = c(fac = "light blue"),
       xlab = "Length vs Dose, Given Type of Suppplement")

par(mfrow = c(1,2)) 
boxplot(ToothGrowth$len ~ ToothGrowth$dose)
boxplot(ToothGrowth$len ~ ToothGrowth$supp)

bigDose <- ToothGrowth$len[ToothGrowth$dose == 2.0]

medDose <- ToothGrowth$len[ToothGrowth$dose == 1.0]

lowDose <- ToothGrowth$len[ToothGrowth$dose == 0.5]

vc <- ToothGrowth$len[ToothGrowth$supp == "VC"]

oj <- ToothGrowth$len[ToothGrowth$supp == "OJ"]
as.vector(t.test(bigDose, medDose)$conf.int)
## [1] 3.733519 8.996481
as.vector(t.test(bigDose, lowDose)$conf.int)
## [1] 12.83383 18.15617
as.vector(t.test(medDose, lowDose)$conf.int)
## [1]  6.276219 11.983781
as.vector(t.test(oj, vc)$conf.int)
## [1] -0.1710156  7.5710156