My first step was to choose the menu item “File/New File…” and select the R Notebook option. This asked to install some packages, which I agreed to. Then I got to work doing some book exercises in the resulting window, and that is what is below.

HTML Formatting

Prettiness before code, why not? So I downloaded a copy of the R Markdown Cheet Sheet

I learned how to write in italics and bold and (as you can see above), how to make headers.

I even included an image:

And let’s try a list:

  1. just go the the top right corner
  2. Where it says “Code”
  3. And select “download Rmd”

you’ll get the exact file I used to produce this

Let’s do an exercise!

(this is from Section 3.2.4 of the Data visualization chapter )

What do you see when you run ggplot(data=mpg)?

Well, as you can see below, you see NOTHING! I suspect that’s because we’d didn’t say how to visualize the data… we didn’t add any layers.

rr ggplot(data = mpg)

How many rows and columns are there in mpg?

I found two ways to do this:

  1. type ?mpg (shows help about information)
  2. just type mpg (this dumps the data summary into the console)

I’ll spare you the details. But it has 234 rows and 11 variables.

What does the drv variable describe (read ?mpg to find out)

easy exercise as it tells you how to do it. whether it is front-wheel, rear-wheel or all-wheel drive.

Make a scatterplot of hwy vs. cyl

I copied this code from the book and editted it (see gray area below)

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy))

rr ggplot(data = mpg) + geom_point(mapping = aes(x = cyl, y = hwy))

Basically, there’s only 4,5, 6 and 8 cylinder cars, and although there is variation, you get better highway gas mileage with fewer cylinders.

(But I think weight is probably the real causal variable here – its probably because 4 cylinder engines are lighter and in lighter cars!)

Make your own exercise!

So how could I find out if I’m right, the weight drives fuel economy? I looked at ?mpg to see if there is a weight variable, but there isn’t.

I did find two relevant variables:

  1. Disp – Displacement is relevant, because a bigger engine will weigh more
  2. Class – well, I can sort of guess the weight of the car by its class, so that’s relevant.

rr ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy))

Yeah, in general it looks like engines with very little displacement (lighter engines) have greater highway mileage.

rr ggplot(data = mpg) + geom_point(mapping = aes(x = class, y = hwy))

Well, first of all I have to comment that this is reasonablly smart behavoir of ggplot – it knew what to do with categorical data.

And yes, compacts and subcompacts seem to have greater highway miles than minivans and suvs. And as a bonus, I figured out how to get only that data

LS0tCnRpdGxlOiAiSmVyZW15J3MgRmlyc3QgUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKTXkgZmlyc3Qgc3RlcCB3YXMgdG8gY2hvb3NlIHRoZSBtZW51IGl0ZW0gIkZpbGUvTmV3IEZpbGUuLi4iIGFuZCBzZWxlY3QgdGhlIFIgTm90ZWJvb2sgb3B0aW9uLiBUaGlzIGFza2VkIHRvIGluc3RhbGwgc29tZSBwYWNrYWdlcywgd2hpY2ggSSBhZ3JlZWQgdG8uIFRoZW4gSSBnb3QgdG8gd29yayBkb2luZyBzb21lIGJvb2sgZXhlcmNpc2VzIGluIHRoZSByZXN1bHRpbmcgd2luZG93LCBhbmQgdGhhdCBpcyB3aGF0IGlzIGJlbG93LiAKCiMjIEhUTUwgRm9ybWF0dGluZwoKUHJldHRpbmVzcyBiZWZvcmUgY29kZSwgd2h5IG5vdD8gU28gSSBkb3dubG9hZGVkIGEgY29weSBvZiB0aGUgW1IgTWFya2Rvd24gQ2hlZXQgU2hlZXRdKGh0dHBzOi8vd3d3LnJzdHVkaW8uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE1LzAyL3JtYXJrZG93bi1jaGVhdHNoZWV0LnBkZikKCkkgbGVhcm5lZCBob3cgdG8gd3JpdGUgaW4gKml0YWxpY3MqIGFuZCAqKmJvbGQqKiBhbmQgKGFzIHlvdSBjYW4gc2VlIGFib3ZlKSwgaG93IHRvIG1ha2UgaGVhZGVycy4gCgpJIGV2ZW4gaW5jbHVkZWQgYW4gaW1hZ2U6ICFbXShodHRwczovL2kyLndwLmNvbS9kaWdpdGFscHJvbWlzZS5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMTcvMDgvSmVyZW15LnBuZz9maXQ9MzAwJTJDMzAwKXt3aWR0aD0xNTB9CgpBbmQgbGV0J3MgdHJ5IGEgbGlzdDogCgoqIGlmIHlvdSB3YW50IHRvIHNlZSB0aGUgc291cmNlIGNvZGUgZm9yIHRoaXMgZmlsZQoqIHlvdSBjYW4gZG8gaXQuCgoxLiBqdXN0IGdvIHRoZSB0aGUgdG9wIHJpZ2h0IGNvcm5lcgoyLiBXaGVyZSBpdCBzYXlzICJDb2RlIgozLiBBbmQgc2VsZWN0ICJkb3dubG9hZCBSbWQiCgoqKnlvdSdsbCBnZXQgdGhlIGV4YWN0IGZpbGUgSSB1c2VkIHRvIHByb2R1Y2UgdGhpcyoqIAoKIyMgTGV0J3MgZG8gYW4gZXhlcmNpc2UhCgoodGhpcyBpcyBmcm9tIFNlY3Rpb24gMy4yLjQgb2YgdGhlIFtEYXRhIHZpc3VhbGl6YXRpb24gY2hhcHRlcl0oaHR0cDovL3I0ZHMuaGFkLmNvLm56L2RhdGEtdmlzdWFsaXNhdGlvbi5odG1sKSApCgojIyMgV2hhdCBkbyB5b3Ugc2VlIHdoZW4geW91IHJ1biBnZ3Bsb3QoZGF0YT1tcGcpPwoKV2VsbCwgYXMgeW91IGNhbiBzZWUgYmVsb3csIHlvdSBzZWUgKk5PVEhJTkchKiBJIHN1c3BlY3QgdGhhdCdzIGJlY2F1c2Ugd2UnZCBkaWRuJ3Qgc2F5IGhvdyB0byB2aXN1YWxpemUgdGhlIGRhdGEuLi4gd2UgZGlkbid0IGFkZCBhbnkgbGF5ZXJzLiAKCmBgYHtyfQpnZ3Bsb3QoZGF0YSA9IG1wZykKYGBgCgojIyMgSG93IG1hbnkgcm93cyBhbmQgY29sdW1ucyBhcmUgdGhlcmUgaW4gbXBnPwoKSSBmb3VuZCB0d28gd2F5cyB0byBkbyB0aGlzOgoKMS4gdHlwZSA/bXBnIChzaG93cyBoZWxwIGFib3V0IGluZm9ybWF0aW9uKQoyLiBqdXN0IHR5cGUgbXBnICh0aGlzIGR1bXBzIHRoZSBkYXRhIHN1bW1hcnkgaW50byB0aGUgY29uc29sZSkKCkknbGwgc3BhcmUgeW91IHRoZSBkZXRhaWxzLiBCdXQgaXQgaGFzIDIzNCByb3dzIGFuZCAxMSB2YXJpYWJsZXMuCgojIyMgV2hhdCBkb2VzIHRoZSBkcnYgdmFyaWFibGUgZGVzY3JpYmUgKHJlYWQgP21wZyB0byBmaW5kIG91dCkKCmVhc3kgZXhlcmNpc2UgYXMgaXQgdGVsbHMgeW91IGhvdyB0byBkbyBpdC4gd2hldGhlciBpdCBpcyBmcm9udC13aGVlbCwgcmVhci13aGVlbCBvciBhbGwtd2hlZWwgZHJpdmUuCgojIyMgTWFrZSBhIHNjYXR0ZXJwbG90IG9mIGh3eSB2cy4gY3lsCgpJIGNvcGllZCB0aGlzIGNvZGUgZnJvbSB0aGUgYm9vayBhbmQgZWRpdHRlZCBpdCAoc2VlIGdyYXkgYXJlYSBiZWxvdykKCmdncGxvdChkYXRhID0gbXBnKSArIAogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3kpKQoKYGBge3J9CmdncGxvdChkYXRhID0gbXBnKSArIAogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gY3lsLCB5ID0gaHd5KSkKYGBgCgpCYXNpY2FsbHksIHRoZXJlJ3Mgb25seSA0LDUsIDYgYW5kIDggY3lsaW5kZXIgY2FycywgYW5kIGFsdGhvdWdoIHRoZXJlIGlzIHZhcmlhdGlvbiwgeW91IGdldCBiZXR0ZXIgaGlnaHdheSBnYXMgbWlsZWFnZSB3aXRoIGZld2VyIGN5bGluZGVycy4KCiAqKEJ1dCBJIHRoaW5rIHdlaWdodCBpcyBwcm9iYWJseSB0aGUgcmVhbCBjYXVzYWwgdmFyaWFibGUgaGVyZSAtLSBpdHMgcHJvYmFibHkgYmVjYXVzZSA0IGN5bGluZGVyIGVuZ2luZXMgYXJlIGxpZ2h0ZXIgYW5kIGluIGxpZ2h0ZXIgY2FycyEpKgoKIyMjIE1ha2UgeW91ciBvd24gZXhlcmNpc2UhCgpTbyBob3cgY291bGQgSSBmaW5kIG91dCBpZiBJJ20gcmlnaHQsIHRoZSB3ZWlnaHQgZHJpdmVzIGZ1ZWwgZWNvbm9teT8gSSBsb29rZWQgYXQgP21wZyB0byBzZWUgaWYgdGhlcmUgaXMgYSB3ZWlnaHQgdmFyaWFibGUsIGJ1dCB0aGVyZSBpc24ndC4KCkkgZGlkIGZpbmQgdHdvIHJlbGV2YW50IHZhcmlhYmxlczoKCjEuIERpc3AgLS0gRGlzcGxhY2VtZW50IGlzIHJlbGV2YW50LCBiZWNhdXNlIGEgYmlnZ2VyIGVuZ2luZSB3aWxsIHdlaWdoIG1vcmUKMi4gQ2xhc3MgLS0gd2VsbCwgSSBjYW4gc29ydCBvZiBndWVzcyB0aGUgd2VpZ2h0IG9mIHRoZSBjYXIgYnkgaXRzIGNsYXNzLCBzbyB0aGF0J3MgcmVsZXZhbnQuCgoKYGBge3J9CmdncGxvdChkYXRhID0gbXBnKSArIAogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gZGlzcGwsIHkgPSBod3kpKQpgYGAKClllYWgsIGluIGdlbmVyYWwgaXQgbG9va3MgbGlrZSBlbmdpbmVzIHdpdGggdmVyeSBsaXR0bGUgZGlzcGxhY2VtZW50IChsaWdodGVyIGVuZ2luZXMpIGhhdmUgZ3JlYXRlciBoaWdod2F5IG1pbGVhZ2UuCgpgYGB7cn0KZ2dwbG90KGRhdGEgPSBtcGcpICsgCiAgZ2VvbV9wb2ludChtYXBwaW5nID0gYWVzKHggPSBjbGFzcywgeSA9IGh3eSkpCmBgYAoKV2VsbCwgZmlyc3Qgb2YgYWxsIEkgaGF2ZSB0byBjb21tZW50IHRoYXQgdGhpcyBpcyByZWFzb25hYmxseSBzbWFydCBiZWhhdm9pciBvZiBnZ3Bsb3QgLS0gaXQga25ldyB3aGF0IHRvIGRvIHdpdGggY2F0ZWdvcmljYWwgZGF0YS4gCgpBbmQgeWVzLCBjb21wYWN0cyBhbmQgc3ViY29tcGFjdHMgc2VlbSB0byBoYXZlIGdyZWF0ZXIgaGlnaHdheSBtaWxlcyB0aGFuIG1pbml2YW5zIGFuZCBzdXZzLiBBbmQgYXMgYSBib251cywgSSBmaWd1cmVkIG91dCBob3cgdG8gZ2V0IG9ubHkgdGhhdCBkYXRhCgpgYGB7cn0KbXBnZiA8LSBmaWx0ZXIobXBnLGNsYXNzPT0ic3ViY29tcGFjdCIgfCBjbGFzcz09ImNvbXBhY3QiIHwgY2xhc3M9PSJzdXYiIHwgY2xhc3M9PSJwaWNrdXAiKQoKZ2dwbG90KGRhdGEgPSBtcGdmKSArIAogIGdlb21fcG9pbnQobWFwcGluZyA9IGFlcyh4ID0gY2xhc3MsIHkgPSBod3kpKQoKYGBgCgoK