Exploratory Analysis: odontoblast length for vitamin C dose and delivery mechanism: VC - ascorbic acid, OJ - orange juice
Investigating the Effect of Vitamin C on Odontoblast Length in Guinea PigsStatistical Inference Johns Hopkins University |
|
Although guinea pig is commonly used as a colloquial term for any test subject, this study specifically involved domestic guinea pigs (Cavia porcellus). They acted as stand-ins for human participants in the original research, which aimed to establish a baseline for vitamin C delivery quality using a biological marker.
Synopsis
This study examines odontoblast length in guinea pigs given different doses and delivery methods of vitamin C. The results show a positive correlation between vitamin C dose and odontoblast length. Additionally, orange juice proved to be a more effective delivery mechanism than pure ascorbic acid at lower and intermediate doses.
Introduction
A rodent’s diet consists of tough seeds, nuts, and plant material, which requires extensive chewing. Uniquely, their teeth never stop growing, and the animal must continually wear them down to prevent them from growing into the skull (Wikipedia contributors, 2025, p. nowak1999walkers). In a mature tooth, a layer of odontoblasts (etymology: odonto – tooth, blast – immature or formative cell) lies between the pulp and the crystallized dentin.
Cross-section showing odontoblast layer (Resources, 2020)
We investigate the effect of ascorbic acid (vitamin C) and orange juice on odontoblast length. We note that orange juice is known to be high in vitamin C (Starters Kitchen, n.d.) and its concentration can be measured through a simple experiment (Chemistry Online, n.d.).
We hypothesise that any material supporting tooth repair and growth must pass through the odontoblast layer. Therefore, odontoblast length may serve as an indicator of tooth growth and/or repair rate.
Analysis
The response is the length of odontoblasts (cells responsible for tooth growth) in 60 guinea pigs. Each animal received one of three dose levels of vitamin C (0.5, 1, and 2 mg/day) by one of two delivery methods, orange juice or ascorbic acid (a form of vitamin C and coded as VC).
The initial analysis reveals three key patterns: (i) odontoblast length is positively correlated with dose, (ii) orange juice results in longer odontoblasts at low and intermediate doses, and (iii) the delivery method does not appear to affect cell length at the highest dose.
Observations (ii) and (iii) are particularly noteworthy. Assuming normality - we and now apply two-sample Welch’s t-test on both the low and intermediate doses to determine whether the increased cell length observed with orange juice delivery at the lower and intermediate doses is statistically significant. Since we are performing two tests we also apply the appropriate Bonferroni correction specifically, we will reduce the significance level of the test from \(\alpha=0.05\) to \(\alpha=\frac{0.05}{2}=0.025\).
Data munging
<- as.data.table(ToothGrowth)
dt c("supp","dose"):=lapply(.SD,as.factor), .SDcols=c("supp","dose")] dt[,
Test difference delivery mechanism in lower doses
<- t.test(
tLowDose ~ supp, # numeric value = len, rhs = OJ/VC
len data = dt[dose=="0.5"], # low dose data
var.equal = FALSE , # the Welch test - (different variance)
alternative = "two.sided", # extreme of both sides
conf.level = 0.95 # 95% confidence interval
)
The Welch test yeilds the p value pf \(p=0.006\) below which is far below the \(\alpha =0.025\) - this is a statistically significant result so we reject the null hypothesis accepting the alternative - the delivery mechanism effects the odentoblast length at the lower dosage:
$p.value tLowDose
[1] 0.006358607
Test difference delivery mechanism in intermediate doses
<- t.test(
tMedDose ~ supp, # numeric value = len, rhs = OJ/VC
len data = dt[dose=="1"], # low dose data
var.equal = FALSE , # the Welch test - (different variance)
alternative = "two.sided", # extreme of both sides
conf.level = 0.95 # 95% confidence interval
)
The Welch test yeilds the p value pf \(p=0.001\) below which is far below the \(\alpha =0.025\) - this is a statistically significant result so we reject the null hypothesis accepting the alternative - the delivery mechanism effects the odentoblast length at the intermediate dosage:
$p.value tMedDose
[1] 0.001038376
Supplemental: Normality test (not for credit)
We assumed normality within the groups when applying the Welch test. To assess this, we now test for normality in the worst looking group.
shapiro.test(dt[dose==0.5 & supp=="OJ"]$len)
Shapiro-Wilk normality test
data: dt[dose == 0.5 & supp == "OJ"]$len
W = 0.89274, p-value = 0.182
qqnorm(dt[dose==0.5 & supp=="OJ"]$len) # quantile-quantile plot for data versus normal
qqline(dt[dose==0.5 & supp=="OJ"]$len, col = "tomato") # x=y line (for non-standard data)
The p-value is \(0.182\) which is not low enough to reject the null hypothesis that the data are normally distributed. Therefore, there is no significant evidence against normality in this group.
Supplemental: Variance test (not for credit)
We used the Welch test instead of the pooled t-test based on the assumption that the group variances were different. To evaluate this assumption, we conducted Levene’s test for homogeneity of variances.
library(car)
Loading required package: carData
# Comine the factor columns
<- dt
leveneData := interaction(supp, dose)]
leveneData[, group leveneTest(leveneData$len ~ leveneData$group)
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 5 1.7086 0.1484
54
The p-value \(p=0.1484\) indicates there is no significant evidence to reject the null hypothesis that the groups have equal variance. Although the p-value is somewhat moderate, there was nothing inherently wrong with taking a cautious approach and opting for the Welch test.
Supplemental: Interaction test (not for credit)
We can quickly perform a two-way ANOVA (a technique not covered in the course) to determine if either dosage or delivery method significantly affects odontoblast length.
Since both independent variables were experimentally controlled (no confounding) we can test for interaction between the dosage and the delivery method.
<- aov(len ~ dose * supp, data = dt)
model_twoway summary(model_twoway)
Df Sum Sq Mean Sq F value Pr(>F)
dose 2 2426.4 1213.2 92.000 < 2e-16 ***
supp 1 205.4 205.4 15.572 0.000231 ***
dose:supp 2 108.3 54.2 4.107 0.021860 *
Residuals 54 712.1 13.2
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
The results indicate that both dosage and supplement type are highly significant [***] in their affect on odontoblast length. The interaction term is also statistically significant [*] (\(p = 0.0219\)) suggesting that the effectiveness of dosage depends on the delivery method.
Interaction of delivery mechanism and dose.
Main effect of delivery method: Orange juice (OJ) is associated with longer odontoblasts across the controlled doses, as seen by the OJ line lying above the VC (ascorbic acid) line in the interaction plot.
Main effect of dose: Odontoblast length increases with increasing vitamin C dosage - indicating a positive correlation between dose and cell length.
Interaction effect between dose and delivery method: The advantage of orange juice diminishes at the highest dose, the difference between OJ and VC vanishes. For ascorbic acid (VC), odontoblast length increases consistently with dosage.
Conclusions
The data suggest that the delivery mechanism significantly affects odontoblast length at both the lower and intermediate doses. However, this effect does not appear to persist at the higher dose. One possible explanation is the existence of a saturation limit for vitamin C, beyond which further increases in dosage do not lead to additional cell growth or vitamin C uptake.
We make no comment regrading vitamin C supplements for dental health in guinea pigs.
Notably, we observe greater variance in outcomes between the two delivery mechanisms. This variability may reflect underlying biological or physiological factors and represents a possible direction for future research.
Session Information
R version 4.4.3 (2025-02-28)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 20.04.6 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
[5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
time zone: Europe/London
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] car_3.1-3 carData_3.0-5 data.table_1.17.0
loaded via a namespace (and not attached):
[1] digest_0.6.37 Formula_1.2-5 fastmap_1.2.0 xfun_0.50
[5] abind_1.4-8 knitr_1.49 htmltools_0.5.8.1 rmarkdown_2.29
[9] cli_3.6.3 compiler_4.4.3 rstudioapi_0.17.1 tools_4.4.3
[13] evaluate_1.0.3 yaml_2.3.10 rlang_1.1.5 jsonlite_1.8.9
[17] htmlwidgets_1.6.4