In this tutorial, we build the concepts of the standard Normal Distribution. We start by generating 100 observations from a Normal distribution with a mean of 70 and a standard deviation of 15. Let’s say this reflects the distribution of the number of text messages sent or received by smart phone owners.
(In reality, we would expect such a distribution to be right skewed, but let’s make believe)
x=round(rnorm(100,70,15),0)
x
[1] 99 83 65 73 85 75 88 68 82 84 61 92 73 78 60 74
[17] 63 63 56 84 59 48 83 58 61 48 61 63 75 66 75 59
[33] 112 56 57 96 70 70 76 71 52 58 89 58 109 76 71 81
[49] 57 80 70 51 28 52 62 69 84 69 61 46 75 68 71 95
[65] 45 84 69 70 88 64 47 73 69 75 53 76 69 88 82 91
[81] 72 89 54 56 32 63 60 59 28 62 88 78 60 66 66 61
[97] 65 76 50 46
Create a simple dotplot of the data using the stripchart() function. We can make the axis reflect the standard deviation by manually controlling the axis tick marks.
stripchart(x,method="stack", offset = .5, xaxt="n", pch = 19, cex=.3,
ylim=c(0,20),
main="Texting",
xlab="Number of Text Messages per Day")
axis(1, at=c(25,40,55,70,85,100,115))

Upon examination of the plot, students can count the number of observations below a certain value. In this way they can start to connect percentiles to z-scores.
For example: there are three people who sent or received fewer than 40 text messages in a day. So, we could say 3% of smart phone owners sent 40 or fewer messages in a day.
Using the same method, we could see that about 15/100 or 15% of smart phone owners sent or receieved less than 55 messages in a day.
Next, generate 1000, observations from the same distribution.
y=round(rnorm(1000,70,15),0)
stripchart(y,method="stack", offset = .5, xaxt="n", pch = 19, cex=.3,
ylim=c(0,20),
main="Texting",
xlab="Number of Text Messages per Day")
axis(1, at=c(25,40,55,70,85,100,115))
With so many observations, it would be difficult to count and then calculate percentiles. Perhaps we can estimate percentages based on the graphic.
About what percent of smart phone owners send or receive less than 40 messages in a day?
z=round(rnorm(100000,70,15),0)
hist(z,breaks=15,main="Texting", xaxt="n",xlab="Number of Text Messages per Day")
axis(1, at=c(25,40,55,70,85,100,115))

percent.below.40=(length(y[y<40])/length(y))*100
percent.below.40
[1] 2.6
About what percent of smart phone owners send or receive less than 55 text messages each day?
percent.below.55=(length(y[y<55])/length(y))*100
percent.below.55
[1] 17
Make a guess as to the percent of smart phone owners who send or receive less than 70 of messages in a day. Now let’s try it.
percent.below.70=(length(y[y<70])/length(y))*100
percent.below.70
[1] 52.1
Is this close to what you anticipated?
It should be about 50%, since 70 is the mean.
Challenge: Can you figure out what percent of smart phone owners send or receive between 55 and 85 messages in a day?
one.sd=(length(y[y<85])-length(y[y<55]))/length(y)
one.sd
[1] 0.679
This exercise illustrates the 68%-95%-99.7% rule which governs the behavior of any normal distribution.
LS0tDQp0aXRsZTogIkxlYXJuaW5nIHRoZSBTdGFuZGFyZCBOb3JtYWwgRGlzdHJpYnV0aW9uIGluIFIiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpJbiB0aGlzIHR1dG9yaWFsLCB3ZSBidWlsZCB0aGUgY29uY2VwdHMgb2YgdGhlIHN0YW5kYXJkIE5vcm1hbCBEaXN0cmlidXRpb24uICBXZSBzdGFydCBieSBnZW5lcmF0aW5nIDEwMCBvYnNlcnZhdGlvbnMgZnJvbSBhIE5vcm1hbCBkaXN0cmlidXRpb24gd2l0aCBhIG1lYW4gb2YgNzAgYW5kIGEgc3RhbmRhcmQgZGV2aWF0aW9uIG9mIDE1LiAgTGV0J3Mgc2F5IHRoaXMgcmVmbGVjdHMgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgbnVtYmVyIG9mIHRleHQgbWVzc2FnZXMgc2VudCBvciByZWNlaXZlZCBieSBzbWFydCBwaG9uZSBvd25lcnMuIA0KDQooSW4gcmVhbGl0eSwgd2Ugd291bGQgZXhwZWN0IHN1Y2ggYSBkaXN0cmlidXRpb24gdG8gYmUgcmlnaHQgc2tld2VkLCBidXQgbGV0J3MgbWFrZSBiZWxpZXZlKQ0KDQpgYGB7cn0NCng9cm91bmQocm5vcm0oMTAwLDcwLDE1KSwwKQ0KeA0KYGBgDQoNCkNyZWF0ZSBhIHNpbXBsZSBkb3RwbG90IG9mIHRoZSBkYXRhIHVzaW5nIHRoZSBzdHJpcGNoYXJ0KCkgZnVuY3Rpb24uICBXZSBjYW4gbWFrZSB0aGUgYXhpcyByZWZsZWN0IHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gYnkgbWFudWFsbHkgY29udHJvbGxpbmcgdGhlIGF4aXMgdGljayBtYXJrcy4gIA0KDQpgYGB7cn0NCnN0cmlwY2hhcnQoeCxtZXRob2Q9InN0YWNrIiwgb2Zmc2V0ID0gLjUsIHhheHQ9Im4iLCBwY2ggPSAxOSwgY2V4PS4zLA0KICAgICAgICAgICB5bGltPWMoMCwyMCksDQogICAgICAgICBtYWluPSJUZXh0aW5nIiwgDQogICAgICAgICB4bGFiPSJOdW1iZXIgb2YgVGV4dCBNZXNzYWdlcyBwZXIgRGF5IikNCmF4aXMoMSwgYXQ9YygyNSw0MCw1NSw3MCw4NSwxMDAsMTE1KSkNCmBgYA0KDQpVcG9uIGV4YW1pbmF0aW9uIG9mIHRoZSBwbG90LCBzdHVkZW50cyBjYW4gY291bnQgdGhlIG51bWJlciBvZiBvYnNlcnZhdGlvbnMgYmVsb3cgYSBjZXJ0YWluIHZhbHVlLiAgSW4gdGhpcyB3YXkgdGhleSBjYW4gc3RhcnQgdG8gY29ubmVjdCBwZXJjZW50aWxlcyB0byB6LXNjb3Jlcy4gIA0KDQpGb3IgZXhhbXBsZTogIHRoZXJlIGFyZSB0aHJlZSBwZW9wbGUgd2hvIHNlbnQgb3IgcmVjZWl2ZWQgZmV3ZXIgdGhhbiA0MCB0ZXh0IG1lc3NhZ2VzIGluIGEgZGF5LiAgU28sIHdlIGNvdWxkIHNheSAzJSBvZiBzbWFydCBwaG9uZSBvd25lcnMgc2VudCA0MCBvciBmZXdlciBtZXNzYWdlcyBpbiBhIGRheS4gIA0KDQpVc2luZyB0aGUgc2FtZSBtZXRob2QsIHdlIGNvdWxkIHNlZSB0aGF0IGFib3V0IDE1LzEwMCBvciAxNSUgb2Ygc21hcnQgcGhvbmUgb3duZXJzIHNlbnQgb3IgcmVjZWlldmVkIGxlc3MgdGhhbiA1NSBtZXNzYWdlcyBpbiBhIGRheS4gIA0KDQoNCk5leHQsIGdlbmVyYXRlIDEwMDAsIG9ic2VydmF0aW9ucyBmcm9tIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbi4gIA0KDQpgYGB7cn0NCnk9cm91bmQocm5vcm0oMTAwMCw3MCwxNSksMCkNCg0Kc3RyaXBjaGFydCh5LG1ldGhvZD0ic3RhY2siLCBvZmZzZXQgPSAuNSwgeGF4dD0ibiIsIHBjaCA9IDE5LCBjZXg9LjMsDQogICAgICAgICAgIHlsaW09YygwLDIwKSwNCiAgICAgICAgICAgbWFpbj0iVGV4dGluZyIsIA0KICAgICAgICAgICB4bGFiPSJOdW1iZXIgb2YgVGV4dCBNZXNzYWdlcyBwZXIgRGF5IikNCmF4aXMoMSwgYXQ9YygyNSw0MCw1NSw3MCw4NSwxMDAsMTE1KSkNCmBgYA0KDQpXaXRoIHNvIG1hbnkgb2JzZXJ2YXRpb25zLCBpdCB3b3VsZCBiZSBkaWZmaWN1bHQgdG8gY291bnQgYW5kIHRoZW4gY2FsY3VsYXRlIHBlcmNlbnRpbGVzLiAgUGVyaGFwcyB3ZSBjYW4gZXN0aW1hdGUgcGVyY2VudGFnZXMgYmFzZWQgb24gdGhlIGdyYXBoaWMuDQoNCkFib3V0IHdoYXQgcGVyY2VudCBvZiBzbWFydCBwaG9uZSBvd25lcnMgc2VuZCBvciByZWNlaXZlIGxlc3MgdGhhbiA0MCBtZXNzYWdlcyBpbiBhIGRheT8NCg0KDQpgYGB7cn0NCno9cm91bmQocm5vcm0oMTAwMDAwLDcwLDE1KSwwKQ0KDQpoaXN0KHosYnJlYWtzPTE1LG1haW49IlRleHRpbmciLCB4YXh0PSJuIix4bGFiPSJOdW1iZXIgb2YgVGV4dCBNZXNzYWdlcyBwZXIgRGF5IikNCmF4aXMoMSwgYXQ9YygyNSw0MCw1NSw3MCw4NSwxMDAsMTE1KSkNCmBgYA0KDQpgYGB7cn0NCnBlcmNlbnQuYmVsb3cuNDA9KGxlbmd0aCh5W3k8NDBdKS9sZW5ndGgoeSkpKjEwMA0KcGVyY2VudC5iZWxvdy40MA0KDQojIHdlIHNob3VsZCBzZWUgdmFsdWVzIG5lYXIgMi41JSwgYWNjb3JkaW5nIHRvIHRoZSBlbXBpcmljYWwgcnVsZQ0KYGBgDQoNCg0KQWJvdXQgd2hhdCBwZXJjZW50IG9mIHNtYXJ0IHBob25lIG93bmVycyBzZW5kIG9yIHJlY2VpdmUgbGVzcyB0aGFuIDU1IHRleHQgbWVzc2FnZXMgZWFjaCBkYXk/DQoNCg0KYGBge3J9DQpwZXJjZW50LmJlbG93LjU1PShsZW5ndGgoeVt5PDU1XSkvbGVuZ3RoKHkpKSoxMDANCnBlcmNlbnQuYmVsb3cuNTUNCg0KIyB3ZSBzaG91bGQgc2VlIHZhbHVlcyBuZWFyIDE2JSBhY2NvcmRpbmcgdG8gdGhlIGVtcGlyaWNhbCBydWxlDQpgYGANCg0KTWFrZSBhIGd1ZXNzIGFzIHRvIHRoZSBwZXJjZW50IG9mIHNtYXJ0IHBob25lIG93bmVycyB3aG8gc2VuZCBvciByZWNlaXZlIGxlc3MgdGhhbiA3MCBvZiBtZXNzYWdlcyBpbiBhIGRheS4gIE5vdyBsZXQncyB0cnkgaXQuDQoNCmBgYHtyfQ0KcGVyY2VudC5iZWxvdy43MD0obGVuZ3RoKHlbeTw3MF0pL2xlbmd0aCh5KSkqMTAwDQpwZXJjZW50LmJlbG93LjcwDQoNCmBgYA0KSXMgdGhpcyBjbG9zZSB0byB3aGF0IHlvdSBhbnRpY2lwYXRlZD8NCg0KSXQgc2hvdWxkIGJlIGFib3V0IDUwJSwgc2luY2UgNzAgaXMgdGhlIG1lYW4uDQoNCkNoYWxsZW5nZTogIENhbiB5b3UgZmlndXJlIG91dCB3aGF0IHBlcmNlbnQgb2Ygc21hcnQgcGhvbmUgb3duZXJzIHNlbmQgb3IgcmVjZWl2ZSBiZXR3ZWVuIDU1IGFuZCA4NSBtZXNzYWdlcyBpbiBhIGRheT8NCg0KYGBge3J9DQpvbmUuc2Q9KGxlbmd0aCh5W3k8ODVdKS1sZW5ndGgoeVt5PDU1XSkpL2xlbmd0aCh5KQ0Kb25lLnNkDQojVGhpcyB2YWx1ZSBzaG91bGQgYmUgY2xvc2UgdG8gNjglDQpgYGANClRoaXMgZXhlcmNpc2UgaWxsdXN0cmF0ZXMgdGhlIDY4JS05NSUtOTkuNyUgcnVsZSB3aGljaCBnb3Zlcm5zIHRoZSBiZWhhdmlvciBvZiBhbnkgbm9ybWFsIGRpc3RyaWJ1dGlvbi4gIA0KDQoNCg0K