Aims of this exercise
In this exercise, you will learn how data exploration and plots can help you to discover confounding in a real datasets.
You will also improve your data wrangling skills by importing, tidying, wrangling and visualizing data yourself.
The FEV dataset
The forced expiratory volume
(FEV)
is a measure of how much air a person can exhale (in liters)
during a forced breath. In this dataset, the FEV of 606 children,
between the ages of 6 and 17, were measured. The dataset
also provides additional information on these children:
their age
, their height
, their gender
and, most
importantly, whether the child is a smoker or a non-smoker.
The goal of this experiment was to find out whether or not
smoking has an effect on the FEV of children.
Note: to analyse this dataset properly, we will need some
relatively advanced modeling techniques. At the end of this
week, you will have seen all three required steps to analyse
such a dataset! For now, we will limit ourselves to exploring
the data.
Load libraries
If you do not have these libraries installed, make sure to install them first
by using the install.packages()
function with missing the package name inside
the parentheses (and using quotation marks, like install.packages("car")
)
library(readr)
library(dplyr)
library(tidyverse)
library(ggplot2)
library(car)
Import the data
Data path:
https://raw.githubusercontent.com/statOmics/PSLSData/main/fev.txt
Note: fev.txt
is a tab-separated file: make sure to select the correct readr
function!
Have a first look at the data
There are a few things in the formatting of the
data that can be improved:
Both gender
and smoking
can be transformed to factors.
The height
variable is written in inches. Assuming that
this audience is mainly Portuguese/Belgian, inches are hard to
interpret. Let’s add a new column, height_cm
, with the values
converted to centimeters.
Now, let’s make a first explorative plot, showing
only the FEV for both smoking categories.
Which type of plot do you suggest? Generate a good-looking,
informative representation of the data.
Did you expect these results?
Maybe there is something else going on in the data.
By taking more of the information in the dataset into account, can
you provide a more detailed/accurate visualizition of the
variables that effect the FEV?
...
## Try to get a visualization that describes the data as good as possible!!
...
LS0tCnRpdGxlOiAiRXhlcmNpc2UgNC40OiBFeHBsb3JpbmcgdGhlIEZFViBkYXRhc2V0IgphdXRob3I6ICJMaWV2ZW4gQ2xlbWVudCwgSmVyb2VuIEdpbGlzIGFuZCBNaWxhbiBNYWxmYWl0IgpkYXRlOiAic3RhdE9taWNzLCBHaGVudCBVbml2ZXJzaXR5IChodHRwczovL3N0YXRvbWljcy5naXRodWIuaW8pIgotLS0KCiMgQWltcyBvZiB0aGlzIGV4ZXJjaXNlCgpJbiB0aGlzIGV4ZXJjaXNlLCB5b3Ugd2lsbCBsZWFybiBob3cgZGF0YSBleHBsb3JhdGlvbiBhbmQgcGxvdHMgY2FuIGhlbHAgeW91IHRvIGRpc2NvdmVyIGNvbmZvdW5kaW5nIGluIGEgcmVhbCBkYXRhc2V0cy4KCllvdSB3aWxsIGFsc28gaW1wcm92ZSB5b3VyIGRhdGEgd3JhbmdsaW5nIHNraWxscyBieSBpbXBvcnRpbmcsIHRpZHlpbmcsIHdyYW5nbGluZyBhbmQgdmlzdWFsaXppbmcgZGF0YSB5b3Vyc2VsZi4KCgojIFRoZSBGRVYgZGF0YXNldAoKVGhlIGBmb3JjZWQgZXhwaXJhdG9yeSB2b2x1bWVgIChGRVYpCmlzIGEgbWVhc3VyZSBvZiBob3cgbXVjaCBhaXIgYSBwZXJzb24gY2FuIGV4aGFsZSAoaW4gbGl0ZXJzKQpkdXJpbmcgIGEgZm9yY2VkIGJyZWF0aC4gSW4gdGhpcyBkYXRhc2V0LCB0aGUgRkVWIG9mIDYwNiBjaGlsZHJlbiwKYmV0d2VlbiB0aGUgYWdlcyBvZiA2IGFuZCAxNywgd2VyZSBtZWFzdXJlZC4gVGhlIGRhdGFzZXQKYWxzbyBwcm92aWRlcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIHRoZXNlIGNoaWxkcmVuOgp0aGVpciBgYWdlYCwgdGhlaXIgYGhlaWdodGAsIHRoZWlyIGBnZW5kZXJgIGFuZCwgbW9zdAppbXBvcnRhbnRseSwgd2hldGhlciB0aGUgY2hpbGQgaXMgYSBzbW9rZXIgb3IgYSBub24tc21va2VyLgoKVGhlIGdvYWwgb2YgdGhpcyBleHBlcmltZW50IHdhcyB0byBmaW5kIG91dCB3aGV0aGVyIG9yIG5vdApzbW9raW5nIGhhcyBhbiBlZmZlY3Qgb24gdGhlIEZFViBvZiBjaGlsZHJlbi4KCk5vdGU6IHRvIGFuYWx5c2UgdGhpcyBkYXRhc2V0IHByb3Blcmx5LCB3ZSB3aWxsIG5lZWQgc29tZQpyZWxhdGl2ZWx5IGFkdmFuY2VkIG1vZGVsaW5nIHRlY2huaXF1ZXMuIEF0IHRoZSBlbmQgb2YgdGhpcwp3ZWVrLCB5b3Ugd2lsbCBoYXZlIHNlZW4gYWxsIHRocmVlIHJlcXVpcmVkIHN0ZXBzIHRvIGFuYWx5c2UKc3VjaCBhIGRhdGFzZXQhIEZvciBub3csIHdlIHdpbGwgbGltaXQgb3Vyc2VsdmVzIHRvIGV4cGxvcmluZwp0aGUgZGF0YS4KCiMgTG9hZCBsaWJyYXJpZXMKCklmIHlvdSBkbyBub3QgaGF2ZSB0aGVzZSBsaWJyYXJpZXMgaW5zdGFsbGVkLCBtYWtlIHN1cmUgdG8gaW5zdGFsbCB0aGVtIGZpcnN0CmJ5IHVzaW5nIHRoZSBgaW5zdGFsbC5wYWNrYWdlcygpYCBmdW5jdGlvbiB3aXRoIG1pc3NpbmcgdGhlIHBhY2thZ2UgbmFtZSBpbnNpZGUKdGhlIHBhcmVudGhlc2VzIChhbmQgdXNpbmcgcXVvdGF0aW9uIG1hcmtzLCBsaWtlIGBpbnN0YWxsLnBhY2thZ2VzKCJjYXIiKWApCgpgYGB7ciwgbWVzc2FnZSA9IEZBTFNFLCB3YXJuaW5nPUZBTFNFfQpsaWJyYXJ5KHJlYWRyKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGNhcikKYGBgCgojIEltcG9ydCB0aGUgZGF0YQoKRGF0YSBwYXRoOgoKYGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9zdGF0T21pY3MvUFNMU0RhdGEvbWFpbi9mZXYudHh0YAoKTm90ZTogYGZldi50eHRgIGlzIGEgdGFiLXNlcGFyYXRlZCBmaWxlOiBtYWtlIHN1cmUgdG8gc2VsZWN0IHRoZSBjb3JyZWN0IGByZWFkcmAKZnVuY3Rpb24hCgpgYGB7ciwgZXZhbD1GQUxTRX0KLi4uCmBgYAoKSGF2ZSBhIGZpcnN0IGxvb2sgYXQgdGhlIGRhdGEKCmBgYHtyLCBldmFsPUZBTFNFfQouLi4KYGBgCgoKVGhlcmUgYXJlIGEgZmV3IHRoaW5ncyBpbiB0aGUgZm9ybWF0dGluZyBvZiB0aGUKZGF0YSB0aGF0IGNhbiBiZSBpbXByb3ZlZDoKCjEuIEJvdGggYGdlbmRlcmAgYW5kIGBzbW9raW5nYCBjYW4gYmUgdHJhbnNmb3JtZWQgdG8gZmFjdG9ycy4KCjIuIFRoZSBgaGVpZ2h0YCB2YXJpYWJsZSBpcyB3cml0dGVuIGluIGluY2hlcy4gQXNzdW1pbmcgdGhhdAp0aGlzIGF1ZGllbmNlIGlzIG1haW5seSBQb3J0dWd1ZXNlL0JlbGdpYW4sIGluY2hlcyBhcmUgaGFyZCB0bwppbnRlcnByZXQuIExldCdzIGFkZCBhIG5ldyBjb2x1bW4sIGBoZWlnaHRfY21gLCB3aXRoIHRoZSB2YWx1ZXMKY29udmVydGVkIHRvIGNlbnRpbWV0ZXJzLgoKYGBge3IsIGV2YWw9RkFMU0V9Ci4uLgpgYGAKCk5vdywgbGV0J3MgbWFrZSBhIGZpcnN0IGV4cGxvcmF0aXZlIHBsb3QsIHNob3dpbmcKb25seSB0aGUgRkVWIGZvciBib3RoIHNtb2tpbmcgY2F0ZWdvcmllcy4KCldoaWNoIHR5cGUgb2YgcGxvdCBkbyB5b3Ugc3VnZ2VzdD8gR2VuZXJhdGUgYSBnb29kLWxvb2tpbmcsCmluZm9ybWF0aXZlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhLgoKYGBge3IsIGV2YWw9RkFMU0V9Ci4uLgpgYGAKCkRpZCB5b3UgZXhwZWN0IHRoZXNlIHJlc3VsdHM/CgpNYXliZSB0aGVyZSBpcyBzb21ldGhpbmcgZWxzZSBnb2luZyBvbiBpbiB0aGUgZGF0YS4KQnkgdGFraW5nIG1vcmUgb2YgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBkYXRhc2V0IGludG8gYWNjb3VudCwgY2FuCnlvdSBwcm92aWRlIGEgbW9yZSBkZXRhaWxlZC9hY2N1cmF0ZSB2aXN1YWxpeml0aW9uIG9mIHRoZQp2YXJpYWJsZXMgdGhhdCBlZmZlY3QgdGhlIEZFVj8KCmBgYHtyLCBldmFsPUZBTFNFfQouLi4KCgojIyBUcnkgdG8gZ2V0IGEgdmlzdWFsaXphdGlvbiB0aGF0IGRlc2NyaWJlcyB0aGUgZGF0YSBhcyBnb29kIGFzIHBvc3NpYmxlISEKCgoKLi4uCmBgYAo=