Applying the Central Limit Theorem in R, The central limit theorem
states that if the sample size is high enough, the sampling distribution
of a sample mean is approximately normal, even if the population
distribution is not.
The sample distribution will also have the following properties,
according to the central limit theorem:
Example: Applying the Central Limit Theorem in R
The central limit theorem is demonstrated in R using the following
example.
Assume that the width of a turtle’s shell is distributed uniformly,
with a minimum width of 1.2 inches and a maximum width of 6 inches.
That is, if we chose a turtle at random and measured the width of its
shell, it could be anywhere between 1.2 and 6 inches wide.
The following code demonstrates how to generate a dataset in R that
contains the measurements of 1,000 turtle shell widths, uniformly
dispersed between 1.2 and 6 inches.
library(rpubs)
Error in library(rpubs) : there is no package called ‘rpubs’
Let’s make this example reproducible while using set.seed
function.
set.seed(123)
Let’s make a uniformly distributed random variable with a sample size
of 1000.
data <- runif(n=1000, min=1.2, max=6)
Now we can visualize the distribution of turtle shell widths using a
histogram.
hist(data, col='steelblue', main='Histogram of Turtle Shell Widths')

mean(data)
[1] 3.586933
It’s worth noting that the distribution of turtle shell widths isn’t
at all normally distributed.
Now imagine that we choose 10 turtles from this population at random
and measure the sample mean over and over again.
The following code demonstrates how to do this in R and view the
distribution of sample means with a histogram:
To keep the sample means, create a blank vector.
sample
NULL
take 1,000 random samples of size n=10
n
[1] 1000
sample takes a random sample of specified size (10) from the provided
data, with or without replacement.
calculate the sample mean and standard deviation.
mean(sample)
[1] 3.572286
sd(sample)
[1] 0.4395462
hist(sample, col ='red', xlab='Turtle Shell Width', main='Sample size = 30')

Even though the distribution from which the samples originated was
not normally distributed, the sampling distribution of sample means
seems to be regularly distributed.
The sample mean and sample standard deviation for this sampling
distribution are also worth noting.
Now, let’s say we increase the sample size from 10 to 50 and generate
the sample means histogram.
To hold the sample means, create a blank vector.
sample50 <- c()
take 1,000 random samples of size n=50
n = 1000
for (i in 1:n){
sample50[i] = mean(sample(data, 50, replace=TRUE))
}
To visualize the sampling distribution of sample means, make a
histogram.
hist(sample50, col ='steelblue', xlab='Turtle Shell Width', main='Sample size = 50')

mean(sample50)
[1] 3.601172
sd(sample50)
[1] 0.1960465
The sampling distribution is once again normal, the mean is nearly
identical, and the sample standard deviation is even smaller.
This is due to the fact that we employed a bigger sample size (n =
50) than in the previous case (n = 10), resulting in a lower standard
deviation of sample means.
We’ll notice that as we use larger and larger sample sizes, the
sample standard deviation gets lower and smaller.
This is a practical example of the central limit theorem.
As a result, the larger the sample size, the better. The sample size
can be determined while taking care of adequate test power.
LS0tDQp0aXRsZTogIkNlbnRyYWwgTGltaXQgVGhlb3JlbSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KDQpBcHBseWluZyB0aGUgQ2VudHJhbCBMaW1pdCBUaGVvcmVtIGluIFIsIFRoZSBjZW50cmFsIGxpbWl0IHRoZW9yZW0gc3RhdGVzIHRoYXQgaWYgdGhlIHNhbXBsZSBzaXplIGlzIGhpZ2ggZW5vdWdoLCB0aGUgc2FtcGxpbmcgZGlzdHJpYnV0aW9uIG9mIGEgc2FtcGxlIG1lYW4gaXMgYXBwcm94aW1hdGVseSBub3JtYWwsIGV2ZW4gaWYgdGhlIHBvcHVsYXRpb24gZGlzdHJpYnV0aW9uIGlzIG5vdC4NCg0KVGhlIHNhbXBsZSBkaXN0cmlidXRpb24gd2lsbCBhbHNvIGhhdmUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzLCBhY2NvcmRpbmcgdG8gdGhlIGNlbnRyYWwgbGltaXQgdGhlb3JlbToNCg0KMS4gVGhlIHNhbXBsZSBkaXN0cmlidXRpb27igJlzIG1lYW4gd2lsbCBiZSBlcXVhbCB0byB0aGUgcG9wdWxhdGlvbiBkaXN0cmlidXRpb27igJlzIG1lYW4uDQp4ID0gzrwNCg0KMi4gVGhlIHNhbXBsaW5nIGRpc3RyaWJ1dGlvbuKAmXMgc3RhbmRhcmQgZGV2aWF0aW9uIHdpbGwgYmUgZXF1YWwgdG8gdGhlIHBvcHVsYXRpb24gZGlzdHJpYnV0aW9u4oCZcyBzdGFuZGFyZCBkZXZpYXRpb24gZGl2aWRlZCBieSB0aGUgc2FtcGxlIHNpemUuDQoNCg0KDQoNCiMjIyBFeGFtcGxlOiBBcHBseWluZyB0aGUgQ2VudHJhbCBMaW1pdCBUaGVvcmVtIGluIFINCg0KVGhlIGNlbnRyYWwgbGltaXQgdGhlb3JlbSBpcyBkZW1vbnN0cmF0ZWQgaW4gUiB1c2luZyB0aGUgZm9sbG93aW5nIGV4YW1wbGUuDQoNCkFzc3VtZSB0aGF0IHRoZSB3aWR0aCBvZiBhIHR1cnRsZeKAmXMgc2hlbGwgaXMgZGlzdHJpYnV0ZWQgdW5pZm9ybWx5LCB3aXRoIGEgbWluaW11bSB3aWR0aCBvZiAxLjIgaW5jaGVzIGFuZCBhIG1heGltdW0gd2lkdGggb2YgNiBpbmNoZXMuDQoNClRoYXQgaXMsIGlmIHdlIGNob3NlIGEgdHVydGxlIGF0IHJhbmRvbSBhbmQgbWVhc3VyZWQgdGhlIHdpZHRoIG9mIGl0cyBzaGVsbCwgaXQgY291bGQgYmUgYW55d2hlcmUgYmV0d2VlbiAxLjIgYW5kIDYgaW5jaGVzIHdpZGUuDQoNClRoZSBmb2xsb3dpbmcgY29kZSBkZW1vbnN0cmF0ZXMgaG93IHRvIGdlbmVyYXRlIGEgZGF0YXNldCBpbiBSIHRoYXQgY29udGFpbnMgdGhlIG1lYXN1cmVtZW50cyBvZiAxLDAwMCB0dXJ0bGUgc2hlbGwgd2lkdGhzLCB1bmlmb3JtbHkgZGlzcGVyc2VkIGJldHdlZW4gMS4yIGFuZCA2IGluY2hlcy4NCg0KYGBge3J9DQpsaWJyYXJ5KHJwdWJzKQ0KYGBgDQoNCg0KTGV04oCZcyBtYWtlIHRoaXMgZXhhbXBsZSByZXByb2R1Y2libGUgd2hpbGUgdXNpbmcgc2V0LnNlZWQgZnVuY3Rpb24uDQpgYGB7cn0NCnNldC5zZWVkKDEyMykNCmBgYA0KDQoNCg0KTGV04oCZcyBtYWtlIGEgdW5pZm9ybWx5IGRpc3RyaWJ1dGVkIHJhbmRvbSB2YXJpYWJsZSB3aXRoIGEgc2FtcGxlIHNpemUgb2YgMTAwMC4NCmBgYHtyfQ0KZGF0YSA8LSBydW5pZihuPTEwMDAsIG1pbj0xLjIsIG1heD02KQ0KYGBgDQoNCg0KDQpOb3cgd2UgY2FuIHZpc3VhbGl6ZSB0aGUgZGlzdHJpYnV0aW9uIG9mIHR1cnRsZSBzaGVsbCB3aWR0aHMgdXNpbmcgYSBoaXN0b2dyYW0uDQpgYGB7cn0NCmhpc3QoZGF0YSwgY29sPSdzdGVlbGJsdWUnLCBtYWluPSdIaXN0b2dyYW0gb2YgVHVydGxlIFNoZWxsIFdpZHRocycpDQpgYGANCg0KYGBge3J9DQptZWFuKGRhdGEpDQpgYGANCg0KDQpJdOKAmXMgd29ydGggbm90aW5nIHRoYXQgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0dXJ0bGUgc2hlbGwgd2lkdGhzIGlzbuKAmXQgYXQgYWxsIG5vcm1hbGx5IGRpc3RyaWJ1dGVkLg0KDQpOb3cgaW1hZ2luZSB0aGF0IHdlIGNob29zZSAxMCB0dXJ0bGVzIGZyb20gdGhpcyBwb3B1bGF0aW9uIGF0IHJhbmRvbSBhbmQgbWVhc3VyZSB0aGUgc2FtcGxlIG1lYW4gb3ZlciBhbmQgb3ZlciBhZ2Fpbi4NCg0KVGhlIGZvbGxvd2luZyBjb2RlIGRlbW9uc3RyYXRlcyBob3cgdG8gZG8gdGhpcyBpbiBSIGFuZCB2aWV3IHRoZSBkaXN0cmlidXRpb24gb2Ygc2FtcGxlIG1lYW5zIHdpdGggYSBoaXN0b2dyYW06DQoNClRvIGtlZXAgdGhlIHNhbXBsZSBtZWFucywgY3JlYXRlIGEgYmxhbmsgdmVjdG9yLg0KYGBge3J9DQpzYW1wbGUgPC0gYygpDQpgYGANCg0KDQoNCnRha2UgMSwwMDAgcmFuZG9tIHNhbXBsZXMgb2Ygc2l6ZSBuPTEwDQpgYGB7cn0NCm4gPC0gMTAwMA0KZm9yIChpIGluIDE6bil7DQogIHNhbXBsZVtpXSA9IG1lYW4oc2FtcGxlKGRhdGEsIDEwLCByZXBsYWNlPVRSVUUpKQ0KfQ0KYGBgDQpzYW1wbGUgdGFrZXMgYSByYW5kb20gc2FtcGxlIG9mIHNwZWNpZmllZCBzaXplICgxMCkgZnJvbSB0aGUgcHJvdmlkZWQgZGF0YSwgd2l0aCBvciB3aXRob3V0IHJlcGxhY2VtZW50Lg0KDQoNCg0KY2FsY3VsYXRlIHRoZSBzYW1wbGUgbWVhbiBhbmQgc3RhbmRhcmQgZGV2aWF0aW9uLg0KYGBge3J9DQptZWFuKHNhbXBsZSkNCg0Kc2Qoc2FtcGxlKQ0KYGBgDQoNCg0KDQpgYGB7cn0NCmhpc3Qoc2FtcGxlLCBjb2wgPSdyZWQnLCB4bGFiPSdUdXJ0bGUgU2hlbGwgV2lkdGgnLCBtYWluPSdTYW1wbGUgc2l6ZSA9IDMwJykNCmBgYA0KDQpFdmVuIHRob3VnaCB0aGUgZGlzdHJpYnV0aW9uIGZyb20gd2hpY2ggdGhlIHNhbXBsZXMgb3JpZ2luYXRlZCB3YXMgbm90IG5vcm1hbGx5IGRpc3RyaWJ1dGVkLCB0aGUgc2FtcGxpbmcgZGlzdHJpYnV0aW9uIG9mIHNhbXBsZSBtZWFucyBzZWVtcyB0byBiZSByZWd1bGFybHkgZGlzdHJpYnV0ZWQuDQoNClRoZSBzYW1wbGUgbWVhbiBhbmQgc2FtcGxlIHN0YW5kYXJkIGRldmlhdGlvbiBmb3IgdGhpcyBzYW1wbGluZyBkaXN0cmlidXRpb24gYXJlIGFsc28gd29ydGggbm90aW5nLg0KDQoNCk5vdywgbGV04oCZcyBzYXkgd2UgaW5jcmVhc2UgdGhlIHNhbXBsZSBzaXplIGZyb20gMTAgdG8gNTAgYW5kIGdlbmVyYXRlIHRoZSBzYW1wbGUgbWVhbnMgaGlzdG9ncmFtLg0KDQpUbyBob2xkIHRoZSBzYW1wbGUgbWVhbnMsIGNyZWF0ZSBhIGJsYW5rIHZlY3Rvci4NCmBgYHtyfQ0Kc2FtcGxlNTAgPC0gYygpDQpgYGANCg0KdGFrZSAxLDAwMCByYW5kb20gc2FtcGxlcyBvZiBzaXplIG49NTANCmBgYHtyfQ0KbiA9IDEwMDANCmZvciAoaSBpbiAxOm4pew0Kc2FtcGxlNTBbaV0gPSBtZWFuKHNhbXBsZShkYXRhLCA1MCwgcmVwbGFjZT1UUlVFKSkNCn0NCmBgYA0KDQpUbyB2aXN1YWxpemUgdGhlIHNhbXBsaW5nIGRpc3RyaWJ1dGlvbiBvZiBzYW1wbGUgbWVhbnMsIG1ha2UgYSBoaXN0b2dyYW0uDQpgYGB7cn0NCmhpc3Qoc2FtcGxlNTAsIGNvbCA9J3N0ZWVsYmx1ZScsIHhsYWI9J1R1cnRsZSBTaGVsbCBXaWR0aCcsIG1haW49J1NhbXBsZSBzaXplID0gNTAnKQ0KYGBgDQoNCmBgYHtyfQ0KbWVhbihzYW1wbGU1MCkNCg0Kc2Qoc2FtcGxlNTApDQpgYGANCg0KVGhlIHNhbXBsaW5nIGRpc3RyaWJ1dGlvbiBpcyBvbmNlIGFnYWluIG5vcm1hbCwgdGhlIG1lYW4gaXMgbmVhcmx5IGlkZW50aWNhbCwgYW5kIHRoZSBzYW1wbGUgc3RhbmRhcmQgZGV2aWF0aW9uIGlzIGV2ZW4gc21hbGxlci4NCg0KVGhpcyBpcyBkdWUgdG8gdGhlIGZhY3QgdGhhdCB3ZSBlbXBsb3llZCBhIGJpZ2dlciBzYW1wbGUgc2l6ZSAobiA9IDUwKSB0aGFuIGluIHRoZSBwcmV2aW91cyBjYXNlIChuID0gMTApLCByZXN1bHRpbmcgaW4gYSBsb3dlciBzdGFuZGFyZCBkZXZpYXRpb24gb2Ygc2FtcGxlIG1lYW5zLg0KDQpXZeKAmWxsIG5vdGljZSB0aGF0IGFzIHdlIHVzZSBsYXJnZXIgYW5kIGxhcmdlciBzYW1wbGUgc2l6ZXMsIHRoZSBzYW1wbGUgc3RhbmRhcmQgZGV2aWF0aW9uIGdldHMgbG93ZXIgYW5kIHNtYWxsZXIuDQoNClRoaXMgaXMgYSBwcmFjdGljYWwgZXhhbXBsZSBvZiB0aGUgY2VudHJhbCBsaW1pdCB0aGVvcmVtLg0KDQpBcyBhIHJlc3VsdCwgdGhlIGxhcmdlciB0aGUgc2FtcGxlIHNpemUsIHRoZSBiZXR0ZXIuIFRoZSBzYW1wbGUgc2l6ZSBjYW4gYmUgZGV0ZXJtaW5lZCB3aGlsZSB0YWtpbmcgY2FyZSBvZiBhZGVxdWF0ZSB0ZXN0IHBvd2VyLg0KDQoNCg==