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=