This is a mockup of a student workbook.
Topic heading
Introduction, conceptual things
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor eu eros vel pulvinar. Proin faucibus maximus velit vel congue. Aenean eu tortor rutrum, gravida urna eget, venenatis orci. Nullam vitae elit laoreet, iaculis odio et, porta odio. Suspendisse eget finibus neque, ut ultrices tortor.
Sub topic A
Conceptuals Sub topic A
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor eu eros vel pulvinar. Proin faucibus maximus velit vel congue. Aenean eu tortor rutrum, gravida urna eget, venenatis orci. Nullam vitae elit laoreet, iaculis odio et, porta odio. Suspendisse eget finibus neque, ut ultrices tortor. Vivamus dictum sem id pulvinar semper. Sed suscipit auctor massa. Nunc tincidunt orci sed auctor luctus. Aenean nec elit feugiat, pharetra velit ac, sagittis metus. Fusce at nisi a purus rutrum malesuada. Sed laoreet auctor arcu. Proin semper a ipsum non finibus. In in felis non dolor feugiat consequat id in sapien. Aenean mauris ante, tincidunt ut venenatis ac, pretium in metus. Donec id elementum massa.
Exercises Sub topic A
Let’s start with this plot from the diamonds data set:
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point() +
geom_smooth()

It builds a scatter plot of the diamonds dataset, with carat on the x-axis and price on the y-axis. geom_smooth() is used to add a smooth line.
With this plot as a starting point, let’s explore some more possibilities of combining geoms.
Exercise 1
Adapt the pre-coded plot, to show only the smooth line:
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point() +
geom_smooth()
See Solution to Exercise 1
Exercise 2
Show only the smooth line, but color according to clarity by using a col argument in the aes function.
Exercise 3
Hold the color settings from the previous instructions. This time plot the points, but set the alpha argument of geom_point() to 0.4. This will make the points 40% transparent. Do not include geom_smooth().
Sub topic B
Conceptuals Sub topic B
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor eu eros vel pulvinar. Proin faucibus maximus velit vel congue. Aenean eu tortor rutrum, gravida urna eget, venenatis orci. Nullam vitae elit laoreet, iaculis odio et, porta odio. Suspendisse eget finibus neque, ut ultrices tortor. Vivamus dictum sem id pulvinar semper. Sed suscipit auctor massa. Nunc tincidunt orci sed auctor luctus. Aenean nec elit feugiat, pharetra velit ac, sagittis metus. Fusce at nisi a purus rutrum malesuada. Sed laoreet auctor arcu. Proin semper a ipsum non finibus. In in felis non dolor feugiat consequat id in sapien. Aenean mauris ante, tincidunt ut venenatis ac, pretium in metus. Donec id elementum massa.
Exercises Sub topic B
Exercise 4
Exercise 5
Exercise 6
Solutions to Exercises
Solution to Exercise 1
ggplot(diamonds, aes(x = carat, y = price)) +
geom_smooth()

Back to Exercise 1
Further readings
LS0tCnRpdGxlOiAiV29ya2Jvb2sgbW9ja3VwIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpUaGlzIGlzIGEgbW9ja3VwIG9mIGEgc3R1ZGVudCB3b3JrYm9vay4KCiMgVG9waWMgaGVhZGluZwoKIyMgSW50cm9kdWN0aW9uLCBjb25jZXB0dWFsIHRoaW5ncwpMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBBbGlxdWFtIGF1Y3RvciBldSBlcm9zIHZlbCBwdWx2aW5hci4gUHJvaW4gZmF1Y2lidXMgbWF4aW11cyB2ZWxpdCB2ZWwgY29uZ3VlLiBBZW5lYW4gZXUgdG9ydG9yIHJ1dHJ1bSwgZ3JhdmlkYSB1cm5hIGVnZXQsIHZlbmVuYXRpcyBvcmNpLiBOdWxsYW0gdml0YWUgZWxpdCBsYW9yZWV0LCBpYWN1bGlzIG9kaW8gZXQsIHBvcnRhIG9kaW8uIFN1c3BlbmRpc3NlIGVnZXQgZmluaWJ1cyBuZXF1ZSwgdXQgdWx0cmljZXMgdG9ydG9yLgoKIyMgU3ViIHRvcGljIEEKCiMjIyBDb25jZXB0dWFscyBTdWIgdG9waWMgQQoKTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQWxpcXVhbSBhdWN0b3IgZXUgZXJvcyB2ZWwgcHVsdmluYXIuIFByb2luIGZhdWNpYnVzIG1heGltdXMgdmVsaXQgdmVsIGNvbmd1ZS4gQWVuZWFuIGV1IHRvcnRvciBydXRydW0sIGdyYXZpZGEgdXJuYSBlZ2V0LCB2ZW5lbmF0aXMgb3JjaS4gTnVsbGFtIHZpdGFlIGVsaXQgbGFvcmVldCwgaWFjdWxpcyBvZGlvIGV0LCBwb3J0YSBvZGlvLiBTdXNwZW5kaXNzZSBlZ2V0IGZpbmlidXMgbmVxdWUsIHV0IHVsdHJpY2VzIHRvcnRvci4gVml2YW11cyBkaWN0dW0gc2VtIGlkIHB1bHZpbmFyIHNlbXBlci4gU2VkIHN1c2NpcGl0IGF1Y3RvciBtYXNzYS4gTnVuYyB0aW5jaWR1bnQgb3JjaSBzZWQgYXVjdG9yIGx1Y3R1cy4gQWVuZWFuIG5lYyBlbGl0IGZldWdpYXQsIHBoYXJldHJhIHZlbGl0IGFjLCBzYWdpdHRpcyBtZXR1cy4gRnVzY2UgYXQgbmlzaSBhIHB1cnVzIHJ1dHJ1bSBtYWxlc3VhZGEuIFNlZCBsYW9yZWV0IGF1Y3RvciBhcmN1LiBQcm9pbiBzZW1wZXIgYSBpcHN1bSBub24gZmluaWJ1cy4gSW4gaW4gZmVsaXMgbm9uIGRvbG9yIGZldWdpYXQgY29uc2VxdWF0IGlkIGluIHNhcGllbi4gQWVuZWFuIG1hdXJpcyBhbnRlLCB0aW5jaWR1bnQgdXQgdmVuZW5hdGlzIGFjLCBwcmV0aXVtIGluIG1ldHVzLiBEb25lYyBpZCBlbGVtZW50dW0gbWFzc2EuCgojIyMgRXhlcmNpc2VzIFN1YiB0b3BpYyBBIApMZXQncyBzdGFydCB3aXRoIHRoaXMgcGxvdCBmcm9tIHRoZSBkaWFtb25kcyBkYXRhIHNldDoKCmBgYHtyfQpnZ3Bsb3QoZGlhbW9uZHMsIGFlcyh4ID0gY2FyYXQsIHkgPSBwcmljZSkpICsKICBnZW9tX3BvaW50KCkgKwogIGdlb21fc21vb3RoKCkKYGBgCkl0IGJ1aWxkcyBhIHNjYXR0ZXIgcGxvdCBvZiB0aGUgZGlhbW9uZHMgZGF0YXNldCwgd2l0aCBjYXJhdCBvbiB0aGUgeC1heGlzIGFuZCBwcmljZSBvbiB0aGUgeS1heGlzLiBnZW9tX3Ntb290aCgpIGlzIHVzZWQgdG8gYWRkIGEgW3Ntb290aCBsaW5lXShodHRwczovL3d3dy5yLWJsb2dnZXJzLmNvbS90aGF0cy1zbW9vdGgvKS4KCldpdGggdGhpcyBwbG90IGFzIGEgc3RhcnRpbmcgcG9pbnQsIGxldCdzIGV4cGxvcmUgc29tZSBtb3JlIHBvc3NpYmlsaXRpZXMgb2YgY29tYmluaW5nIGdlb21zLgoKIyMjIyBFeGVyY2lzZSAxIHsjYW5jaG9yfQpBZGFwdCB0aGUgcHJlLWNvZGVkIHBsb3QsIHRvIHNob3cgb25seSB0aGUgc21vb3RoIGxpbmU6CmBgYHtyfQpnZ3Bsb3QoZGlhbW9uZHMsIGFlcyh4ID0gY2FyYXQsIHkgPSBwcmljZSkpICsKICBnZW9tX3BvaW50KCkgKwogIGdlb21fc21vb3RoKCkKYGBgClNlZSBbU29sdXRpb24gdG8gRXhlcmNpc2UgMV0oI2FuY2hvcikKCiMjIyMgRXhlcmNpc2UgMgpTaG93IG9ubHkgdGhlIHNtb290aCBsaW5lLCBidXQgY29sb3IgYWNjb3JkaW5nIHRvIGNsYXJpdHkgYnkgdXNpbmcgYSBjb2wgYXJndW1lbnQgaW4gdGhlIGFlcyBmdW5jdGlvbi4KCmBgYHtyfQoKYGBgCgoKIyMjIyBFeGVyY2lzZSAzCkhvbGQgdGhlIGNvbG9yIHNldHRpbmdzIGZyb20gdGhlIHByZXZpb3VzIGluc3RydWN0aW9ucy4gVGhpcyB0aW1lIHBsb3QgdGhlIHBvaW50cywgYnV0IHNldCB0aGUgYWxwaGEgYXJndW1lbnQgb2YgZ2VvbV9wb2ludCgpIHRvIDAuNC4gVGhpcyB3aWxsIG1ha2UgdGhlIHBvaW50cyA0MCUgdHJhbnNwYXJlbnQuIERvIG5vdCBpbmNsdWRlIGdlb21fc21vb3RoKCkuCgpgYGB7cn0KCmBgYAoKCiMjIFN1YiB0b3BpYyBCCgojIyMgQ29uY2VwdHVhbHMgU3ViIHRvcGljIEIKCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEFsaXF1YW0gYXVjdG9yIGV1IGVyb3MgdmVsIHB1bHZpbmFyLiBQcm9pbiBmYXVjaWJ1cyBtYXhpbXVzIHZlbGl0IHZlbCBjb25ndWUuIEFlbmVhbiBldSB0b3J0b3IgcnV0cnVtLCBncmF2aWRhIHVybmEgZWdldCwgdmVuZW5hdGlzIG9yY2kuIE51bGxhbSB2aXRhZSBlbGl0IGxhb3JlZXQsIGlhY3VsaXMgb2RpbyBldCwgcG9ydGEgb2Rpby4gU3VzcGVuZGlzc2UgZWdldCBmaW5pYnVzIG5lcXVlLCB1dCB1bHRyaWNlcyB0b3J0b3IuIFZpdmFtdXMgZGljdHVtIHNlbSBpZCBwdWx2aW5hciBzZW1wZXIuIFNlZCBzdXNjaXBpdCBhdWN0b3IgbWFzc2EuIE51bmMgdGluY2lkdW50IG9yY2kgc2VkIGF1Y3RvciBsdWN0dXMuIEFlbmVhbiBuZWMgZWxpdCBmZXVnaWF0LCBwaGFyZXRyYSB2ZWxpdCBhYywgc2FnaXR0aXMgbWV0dXMuIEZ1c2NlIGF0IG5pc2kgYSBwdXJ1cyBydXRydW0gbWFsZXN1YWRhLiBTZWQgbGFvcmVldCBhdWN0b3IgYXJjdS4gUHJvaW4gc2VtcGVyIGEgaXBzdW0gbm9uIGZpbmlidXMuIEluIGluIGZlbGlzIG5vbiBkb2xvciBmZXVnaWF0IGNvbnNlcXVhdCBpZCBpbiBzYXBpZW4uIEFlbmVhbiBtYXVyaXMgYW50ZSwgdGluY2lkdW50IHV0IHZlbmVuYXRpcyBhYywgcHJldGl1bSBpbiBtZXR1cy4gRG9uZWMgaWQgZWxlbWVudHVtIG1hc3NhLgoKIyMjIEV4ZXJjaXNlcyBTdWIgdG9waWMgQiAKCiMjIyMgRXhlcmNpc2UgNAoKIyMjIyBFeGVyY2lzZSA1CgojIyMjIEV4ZXJjaXNlIDYKCiMjIFNvbHV0aW9ucyB0byBFeGVyY2lzZXMKCiMjIyMgU29sdXRpb24gdG8gRXhlcmNpc2UgMSB7I2FuY2hvcn0KYGBge3J9CmdncGxvdChkaWFtb25kcywgYWVzKHggPSBjYXJhdCwgeSA9IHByaWNlKSkgKwogIGdlb21fc21vb3RoKCkKYGBgCkJhY2sgdG8gW0V4ZXJjaXNlIDFdKCNhbmNob3IpCgojIyBGdXJ0aGVyIHJlYWRpbmdz