R’s built in ToothGrowth dataset shows The Effect of Vitamin C on Tooth Growth in Guinea Pigs. It is a data frame with 60 observations on 3 variables. Where,

  • len = numeric, Tooth length
  • supp = factor, Supplement type (VC or OJ)
  • dose = numeric, Dose in milligrams/day
> summary(ToothGrowth)
      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  

One Sample T-Test

Two-Sided Alternative Hypothesis Test

Question: Test whether the true mean of len in ToothGrowth is equal to 15 or not.

Solution:

> t.test(x = ToothGrowth$len, alternative = "two.sided", mu = 15,
+        conf.level = 0.95)

    One Sample t-test

data:  ToothGrowth$len
t = 3.8615, df = 59, p-value = 0.0002823
alternative hypothesis: true mean is not equal to 15
95 percent confidence interval:
 16.83731 20.78936
sample estimates:
mean of x 
 18.81333 

Since the p-value is less than 0.05, we may reject the null hypothesis of true mean being 15. Hence we may conclude that the true mean is not equal to 15 at 5% level of significance.

One-Sided Alternative Hypothesis

Question: Test whether the true mean of len in ToothGrowth is greater than 17 or not.

Solution:

> t.test(x = ToothGrowth$len, alternative = "greater", mu = 17,
+        conf.level = 0.95)

    One Sample t-test

data:  ToothGrowth$len
t = 1.8362, df = 59, p-value = 0.03568
alternative hypothesis: true mean is greater than 17
95 percent confidence interval:
 17.16309      Inf
sample estimates:
mean of x 
 18.81333 

Here, p-value is less than 0.05. So that we may reject the null hypothesis of the true mean being 17 at 5% significance level. Hence we may conclude that the true mean is indeed greater than 17.

Two-Sample T-Test

Equal Variance in Two Samples

Question: Conduct a proper test to determine if there is a difference in tooth length based on supplement type given to Guinea Pigs.

Solution:

> t.test(len ~ supp, data = ToothGrowth, var.equal = T)

    Two Sample t-test

data:  len by supp
t = 1.9153, df = 58, p-value = 0.06039
alternative hypothesis: true difference in means between group OJ and group VC is not equal to 0
95 percent confidence interval:
 -0.1670064  7.5670064
sample estimates:
mean in group OJ mean in group VC 
        20.66333         16.96333 

Since the P-value is greater than 0.05, we may not reject the null hypothesis of their true means being equal at 5% significance level.

Unequal Variances in Two Samples

Question: Assume that the variances are not equal in the two groups. Now test the equality of the averages.

Solution:

> t.test(len ~ supp, data = ToothGrowth, var.equal = F)

    Welch Two Sample t-test

data:  len by supp
t = 1.9153, df = 55.309, p-value = 0.06063
alternative hypothesis: true difference in means between group OJ and group VC is not equal to 0
95 percent confidence interval:
 -0.1710156  7.5710156
sample estimates:
mean in group OJ mean in group VC 
        20.66333         16.96333 

Welch’s two sample t-test is performed because the variances are assumed to be unequal.

The p-value is greater than 0.05. So we not reject the null hypothesis that the true means are equal at 5% level of significance.

Paired-Sample T-Test

If we have data that are dependent on one another then we may conduct a paired-sample t-test.

Suppose we have data on scores of students before a certain course and after the course is completed -

> before <- c(68, 63, 77, 74, 71, 68, 75, 64, 76, 73, 70, 75, 58, 61, 67)
> after <- c(77, 69, 72, 80, 82, 68, 83, 72, 74, 72, 58, 68, 67, 75, 79)

In this case a paired-sample t-test should be conducted with an one sided alternative that tests whether the scores have been improved or not assuming that the variances are equal -

> t.test(after, before, paired = TRUE, 
+        alternative = "greater", var.equal = TRUE)

    Paired t-test

data:  after and before
t = 1.8701, df = 14, p-value = 0.04126
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
 0.2171491       Inf
sample estimates:
mean of the differences 
               3.733333 

Since p-value is less than 0.05, we may reject the null hypothesis.

Regression Coefficient’s Significance Test

If we consider len as dependent variable that depends on supp, then the significance of the regression coefficient for the fitted model is calculated using the t-test method -

> summary(lm(len ~ as.factor(supp), data = ToothGrowth))

Call:
lm(formula = len ~ as.factor(supp), data = ToothGrowth)

Residuals:
     Min       1Q   Median       3Q      Max 
-12.7633  -5.7633   0.4367   5.5867  16.9367 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)         20.663      1.366  15.127   <2e-16 ***
as.factor(supp)VC   -3.700      1.932  -1.915   0.0604 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 7.482 on 58 degrees of freedom
Multiple R-squared:  0.05948,   Adjusted R-squared:  0.04327 
F-statistic: 3.668 on 1 and 58 DF,  p-value: 0.06039

From the model output it can be noticed that the p-value for the corresponding t statistic is 0.0604. If we do the t-test separately, we will observe the same p-value.

Since linear regression assumes that data is homogeneous in nature, var.equal=TRUE is used.

> t.test(len ~ supp, data = ToothGrowth, var.equal = TRUE)

    Two Sample t-test

data:  len by supp
t = 1.9153, df = 58, p-value = 0.06039
alternative hypothesis: true difference in means between group OJ and group VC is not equal to 0
95 percent confidence interval:
 -0.1670064  7.5670064
sample estimates:
mean in group OJ mean in group VC 
        20.66333         16.96333 

Here the p-value is same as the previously observed p-value in regression summary output.

LS0tDQp0aXRsZTogIlQtVGVzdCBpbiBSIg0KYXV0aG9yOiAiTUQgQUhTQU5VTCBJU0xBTSINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0b2NfZGVwdGg6IDQNCiAgICB0aGVtZTogY2VydWxlYW4NCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KYGBge3IsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGNvbW1lbnQgPSAiIiwgcHJvbXB0ID0gVCwgbWVzc2FnZT1GLCB3YXJuaW5nID0gRg0KKQ0KYGBgDQoNCi0tLQ0KDQpSJ3MgYnVpbHQgaW4gYFRvb3RoR3Jvd3RoYCBkYXRhc2V0IHNob3dzIFRoZSBFZmZlY3Qgb2YgVml0YW1pbiBDIG9uIFRvb3RoIEdyb3d0aCBpbiBHdWluZWEgUGlncy4gSXQgaXMgYSBkYXRhIGZyYW1lIHdpdGggNjAgb2JzZXJ2YXRpb25zIG9uIDMgdmFyaWFibGVzLiBXaGVyZSwNCg0KLSBsZW4gPQludW1lcmljLAlUb290aCBsZW5ndGggICANCi0gc3VwcCA9IGZhY3RvciwgU3VwcGxlbWVudCB0eXBlIChWQyBvciBPSikgICANCi0gZG9zZSA9IG51bWVyaWMsIERvc2UgaW4gbWlsbGlncmFtcy9kYXkgIA0KDQpgYGB7cn0NCnN1bW1hcnkoVG9vdGhHcm93dGgpDQpgYGANCg0KIyBPbmUgU2FtcGxlIFQtVGVzdA0KDQojIyBUd28tU2lkZWQgQWx0ZXJuYXRpdmUgSHlwb3RoZXNpcyBUZXN0DQoNClF1ZXN0aW9uOiBUZXN0IHdoZXRoZXIgdGhlIHRydWUgbWVhbiBvZiBgbGVuYCBpbiAgYFRvb3RoR3Jvd3RoYCBpcyBlcXVhbCB0byAxNSBvciBub3QuDQoNClNvbHV0aW9uOiANCg0KYGBge3J9DQp0LnRlc3QoeCA9IFRvb3RoR3Jvd3RoJGxlbiwgYWx0ZXJuYXRpdmUgPSAidHdvLnNpZGVkIiwgbXUgPSAxNSwNCiAgICAgICBjb25mLmxldmVsID0gMC45NSkNCmBgYA0KDQpTaW5jZSB0aGUgcC12YWx1ZSBpcyBsZXNzIHRoYW4gMC4wNSwgd2UgbWF5IHJlamVjdCB0aGUgbnVsbCBoeXBvdGhlc2lzIG9mIHRydWUgbWVhbiBiZWluZyAxNS4NCkhlbmNlIHdlIG1heSBjb25jbHVkZSB0aGF0IHRoZSB0cnVlIG1lYW4gaXMgbm90IGVxdWFsIHRvIDE1IGF0IDUlIGxldmVsIG9mIHNpZ25pZmljYW5jZS4NCg0KIyMgT25lLVNpZGVkIEFsdGVybmF0aXZlIEh5cG90aGVzaXMNCg0KUXVlc3Rpb246IFRlc3Qgd2hldGhlciB0aGUgdHJ1ZSBtZWFuIG9mIGBsZW5gIGluICBgVG9vdGhHcm93dGhgIGlzIGdyZWF0ZXIgdGhhbiAxNyBvciBub3QuDQoNClNvbHV0aW9uOiANCg0KYGBge3J9DQp0LnRlc3QoeCA9IFRvb3RoR3Jvd3RoJGxlbiwgYWx0ZXJuYXRpdmUgPSAiZ3JlYXRlciIsIG11ID0gMTcsDQogICAgICAgY29uZi5sZXZlbCA9IDAuOTUpDQpgYGANCg0KSGVyZSwgcC12YWx1ZSBpcyBsZXNzIHRoYW4gMC4wNS4gU28gdGhhdCB3ZSBtYXkgcmVqZWN0IHRoZSBudWxsIGh5cG90aGVzaXMgb2YgdGhlIHRydWUgbWVhbiBiZWluZyAxNyBhdCA1JSBzaWduaWZpY2FuY2UgbGV2ZWwuIA0KSGVuY2Ugd2UgbWF5IGNvbmNsdWRlIHRoYXQgdGhlIHRydWUgbWVhbiBpcyBpbmRlZWQgZ3JlYXRlciB0aGFuIDE3Lg0KDQojIFR3by1TYW1wbGUgVC1UZXN0DQoNCiMjIEVxdWFsIFZhcmlhbmNlIGluIFR3byBTYW1wbGVzDQoNClF1ZXN0aW9uOiBDb25kdWN0IGEgcHJvcGVyIHRlc3QgdG8gZGV0ZXJtaW5lIGlmIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBpbiB0b290aCBsZW5ndGggYmFzZWQgb24gc3VwcGxlbWVudCB0eXBlIGdpdmVuIHRvIEd1aW5lYSBQaWdzLg0KDQpTb2x1dGlvbjogDQoNCmBgYHtyfQ0KdC50ZXN0KGxlbiB+IHN1cHAsIGRhdGEgPSBUb290aEdyb3d0aCwgdmFyLmVxdWFsID0gVCkNCmBgYA0KDQpTaW5jZSB0aGUgUC12YWx1ZSBpcyBncmVhdGVyIHRoYW4gMC4wNSwgd2UgbWF5IG5vdCByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcyBvZiB0aGVpciB0cnVlIG1lYW5zIGJlaW5nIGVxdWFsIGF0IDUlIHNpZ25pZmljYW5jZSBsZXZlbC4gDQoNCiMjIFVuZXF1YWwgVmFyaWFuY2VzIGluIFR3byBTYW1wbGVzDQoNClF1ZXN0aW9uOiBBc3N1bWUgdGhhdCB0aGUgdmFyaWFuY2VzIGFyZSBub3QgZXF1YWwgaW4gdGhlIHR3byBncm91cHMuIE5vdyB0ZXN0IHRoZSBlcXVhbGl0eSBvZiB0aGUgYXZlcmFnZXMuDQoNClNvbHV0aW9uOiANCg0KYGBge3J9DQp0LnRlc3QobGVuIH4gc3VwcCwgZGF0YSA9IFRvb3RoR3Jvd3RoLCB2YXIuZXF1YWwgPSBGKQ0KYGBgDQoNCldlbGNoJ3MgdHdvIHNhbXBsZSB0LXRlc3QgaXMgcGVyZm9ybWVkIGJlY2F1c2UgdGhlIHZhcmlhbmNlcyBhcmUgYXNzdW1lZCB0byBiZSB1bmVxdWFsLiANCg0KVGhlIHAtdmFsdWUgaXMgZ3JlYXRlciB0aGFuIDAuMDUuIFNvIHdlIG5vdCByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcyB0aGF0IHRoZSB0cnVlIG1lYW5zIGFyZSBlcXVhbCBhdCA1JSBsZXZlbCBvZiBzaWduaWZpY2FuY2UuDQoNCiMgUGFpcmVkLVNhbXBsZSBULVRlc3QNCg0KSWYgd2UgaGF2ZSBkYXRhIHRoYXQgYXJlIGRlcGVuZGVudCBvbiBvbmUgYW5vdGhlciB0aGVuIHdlIG1heSBjb25kdWN0IGEgcGFpcmVkLXNhbXBsZSB0LXRlc3QuDQoNClN1cHBvc2Ugd2UgaGF2ZSBkYXRhIG9uIHNjb3JlcyBvZiBzdHVkZW50cyBiZWZvcmUgYSBjZXJ0YWluIGNvdXJzZSBhbmQgYWZ0ZXIgdGhlIGNvdXJzZSBpcyBjb21wbGV0ZWQgLQ0KYGBge3J9DQpiZWZvcmUgPC0gYyg2OCwgNjMsIDc3LCA3NCwgNzEsIDY4LCA3NSwgNjQsIDc2LCA3MywgNzAsIDc1LCA1OCwgNjEsIDY3KQ0KYWZ0ZXIgPC0gYyg3NywgNjksIDcyLCA4MCwgODIsIDY4LCA4MywgNzIsIDc0LCA3MiwgNTgsIDY4LCA2NywgNzUsIDc5KQ0KYGBgDQoNCkluIHRoaXMgY2FzZSBhIHBhaXJlZC1zYW1wbGUgdC10ZXN0IHNob3VsZCBiZSBjb25kdWN0ZWQgd2l0aCBhbiBvbmUgc2lkZWQgYWx0ZXJuYXRpdmUgdGhhdCB0ZXN0cyB3aGV0aGVyIHRoZSBzY29yZXMgaGF2ZSBiZWVuIGltcHJvdmVkIG9yIG5vdCBhc3N1bWluZyB0aGF0IHRoZSB2YXJpYW5jZXMgYXJlIGVxdWFsIC0NCmBgYHtyfQ0KdC50ZXN0KGFmdGVyLCBiZWZvcmUsIHBhaXJlZCA9IFRSVUUsIA0KICAgICAgIGFsdGVybmF0aXZlID0gImdyZWF0ZXIiLCB2YXIuZXF1YWwgPSBUUlVFKQ0KYGBgDQoNClNpbmNlIHAtdmFsdWUgaXMgbGVzcyB0aGFuIDAuMDUsIHdlIG1heSByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcy4gDQoNCiMgUmVncmVzc2lvbiBDb2VmZmljaWVudCdzIFNpZ25pZmljYW5jZSBUZXN0DQoNCklmIHdlIGNvbnNpZGVyIGBsZW5gIGFzIGRlcGVuZGVudCB2YXJpYWJsZSB0aGF0IGRlcGVuZHMgb24gYHN1cHBgLCB0aGVuIHRoZSBzaWduaWZpY2FuY2Ugb2YgdGhlIHJlZ3Jlc3Npb24gY29lZmZpY2llbnQgZm9yIHRoZSBmaXR0ZWQgbW9kZWwgaXMgY2FsY3VsYXRlZCB1c2luZyB0aGUgdC10ZXN0IG1ldGhvZCAtIA0KDQpgYGB7cn0NCnN1bW1hcnkobG0obGVuIH4gYXMuZmFjdG9yKHN1cHApLCBkYXRhID0gVG9vdGhHcm93dGgpKQ0KYGBgDQoNCkZyb20gdGhlIG1vZGVsIG91dHB1dCBpdCBjYW4gYmUgbm90aWNlZCB0aGF0IHRoZSBwLXZhbHVlIGZvciB0aGUgY29ycmVzcG9uZGluZyB0IHN0YXRpc3RpYyBpcyAwLjA2MDQuIElmIHdlIGRvIHRoZSB0LXRlc3Qgc2VwYXJhdGVseSwgd2Ugd2lsbCBvYnNlcnZlIHRoZSBzYW1lIHAtdmFsdWUuDQoNClNpbmNlIGxpbmVhciByZWdyZXNzaW9uIGFzc3VtZXMgdGhhdCBkYXRhIGlzIGhvbW9nZW5lb3VzIGluIG5hdHVyZSwgYHZhci5lcXVhbD1UUlVFYCBpcyB1c2VkLiANCg0KYGBge3J9DQp0LnRlc3QobGVuIH4gc3VwcCwgZGF0YSA9IFRvb3RoR3Jvd3RoLCB2YXIuZXF1YWwgPSBUUlVFKQ0KYGBgDQoNCkhlcmUgdGhlIHAtdmFsdWUgaXMgc2FtZSBhcyB0aGUgcHJldmlvdXNseSBvYnNlcnZlZCBwLXZhbHVlIGluIHJlZ3Jlc3Npb24gc3VtbWFyeSBvdXRwdXQuIA0KDQoNCg==