From a3316b25d7de83a19e11671f2271f3d9975b3cb5 Mon Sep 17 00:00:00 2001 From: oyramn <39172186+oyramn@users.noreply.github.com> Date: Tue, 14 Aug 2018 19:05:25 -0400 Subject: [PATCH] Add files via upload --- ..._analysis_on_NHANES_data_(2009-2012).ipynb | 1671 +++++++++++++++++ 1 file changed, 1671 insertions(+) create mode 100644 Statistical_analysis_on_NHANES_data_(2009-2012).ipynb diff --git a/Statistical_analysis_on_NHANES_data_(2009-2012).ipynb b/Statistical_analysis_on_NHANES_data_(2009-2012).ipynb new file mode 100644 index 0000000..3ac091b --- /dev/null +++ b/Statistical_analysis_on_NHANES_data_(2009-2012).ipynb @@ -0,0 +1,1671 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Statistical analysis on NHANES data collected between 2009 and 2012" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before starting the process, let's have a look to the software environment :" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "R version 3.3.1 (2016-06-21)\n", + "Platform: x86_64-pc-linux-gnu (64-bit)\n", + "Running under: Debian GNU/Linux 8 (jessie)\n", + "\n", + "locale:\n", + " [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C \n", + " [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 \n", + " [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 \n", + " [7] LC_PAPER=en_US.UTF-8 LC_NAME=C \n", + " [9] LC_ADDRESS=C LC_TELEPHONE=C \n", + "[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C \n", + "\n", + "attached base packages:\n", + "[1] stats graphics grDevices utils datasets methods base \n", + "\n", + "loaded via a namespace (and not attached):\n", + " [1] magrittr_1.5 IRdisplay_0.5.0 pbdZMQ_0.3-3 \n", + " [4] tools_3.3.1 htmltools_0.3.6 base64enc_0.1-3 \n", + " [7] crayon_1.3.4 Rcpp_0.12.17 uuid_0.1-2 \n", + "[10] stringi_1.2.3 IRkernel_0.8.12.9000 jsonlite_1.5 \n", + "[13] stringr_1.3.1 digest_0.6.15 repr_0.15.0 \n", + "[16] evaluate_0.10.1 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sessionInfo()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that the `R version` of the Jupyter notebook is `3.3.1` and the OS is Debian GNU/Linux 8. These elements might be important if a user tries to re-create the exact software-environment. Also for each library that will be loaded, the versions will be specified for the same reason." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Assuming you are currently using either Jupyter notebook or mybinder and wants to reproduce the workflow, you need to erase all the cells outputs and then execute the code again. In order to so, click on Kernel > Restart & clear output. Then you can execute the code by selecting a cell and clicking on the run button (or by using the appropriate shortcut mentioned in the Help section). You can interact with the code and edit it all along the notebook.\n", + "\n", + "_More information on how to use Jupyter notebook at http://jupyter.org/documentation _\n", + "\n", + "Be aware that some lines of code might take a few seconds or minutes to be executed.\n", + "\n", + "The present notebook is divided in five parts :\n", + "1. Connection to the MRAN repository and loading of packages \n", + "2. Query of data\n", + "3. Data management\n", + "4. Descriptive statistics\n", + "5. Statistical analysis (_Testing of the association between having a sugar-free diet and the waist circumference_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1) Connection to the MRAN repository and loading of packages " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "CRAN is a package repository of the programming language R. Packages tend to get many updates over time and MRAN enables to retrieve packages with 'frozen' versions corresponding to a specific date (in our illustration the date is set to 2018-07-06). MRAN basically consists of daily snapshots of CRAN. Extracting versions of different packages set on a specific date facilitates consistency between packages and reproducibility. More information on : https://cran.r-project.org/ and https://mran.microsoft.com/ .\n", + "\n", + "The line of code below sets the repository to MRAN instead of the default CRAN. (_When executing this code on mybinder it is facultative to run the next cell since the `runtime.txt` file in the Github repository already specifies it_)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "options(repos = c(CRAN = \"https://mran.revolutionanalytics.com/snapshot/2018-07-06\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can check with the line of code below that the repository used to install packages is correctly set to MRAN. You should get a URL that contains 'mran' and the date mentioned above." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "CRAN: 'https://mran.revolutionanalytics.com/snapshot/2018-07-06'" + ], + "text/latex": [ + "\\textbf{CRAN:} 'https://mran.revolutionanalytics.com/snapshot/2018-07-06'" + ], + "text/markdown": [ + "**CRAN:** 'https://mran.revolutionanalytics.com/snapshot/2018-07-06'" + ], + "text/plain": [ + " CRAN \n", + "\"https://mran.revolutionanalytics.com/snapshot/2018-07-06\" " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "getOption(\"repos\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the installation of every packages (except `Rcupcake` package which requires the `install_github()` function) is already done by the `install.R` file in the Github repository, there is no need to execute the `install.packages()` function here. However, for more clarity, we mentionned the line of code necessary for the installation of packages after the \"#\" symbol (\"#\" prevents the code to be executed)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### dplyr package " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "Attaching package: ‘dplyr’\n", + "\n", + "The following objects are masked from ‘package:stats’:\n", + "\n", + " filter, lag\n", + "\n", + "The following objects are masked from ‘package:base’:\n", + "\n", + " intersect, setdiff, setequal, union\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "[1] ‘0.7.6’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#install.packages(\"dplyr\")\n", + "library(dplyr)\n", + "packageVersion(\"dplyr\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### prettyR package " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[1] ‘2.2’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#install.packages(\"prettyR\")\n", + "library(prettyR)\n", + "packageVersion(\"prettyR\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### knitr package " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[1] ‘1.20’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#install.packages(\"knitr\")\n", + "library(knitr)\n", + "packageVersion(\"knitr\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### devtools package " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[1] ‘1.13.6’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#install.packages(\"devtools\")\n", + "library(devtools)\n", + "packageVersion(\"devtools\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### BiocInstaller package\n", + "_This package is necessary to the installation of `Rcupcake package`. Here we specified the repository in the code because it is not part of the CRAN._" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help\n", + "A new version of Bioconductor is available after installing the most recent\n", + " version of R; see http://bioconductor.org/install\n" + ] + }, + { + "data": { + "text/plain": [ + "[1] ‘1.24.0’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#install.packages(\"BiocInstaller\", repos = \"http://www.bioconductor.org/packages/3.5/bioc\")\n", + "library(BiocInstaller)\n", + "packageVersion(\"BiocInstaller\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Rcupcake package installation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before starting the installation of the package you need to indicate the location of the TAR application by `/bin/tar`.\n", + "\n", + "More information on how to install `Rcupcake` at : https://github.com/hms-dbmi/Rcupcake-case-studies/blob/master/NHANEScaseStudy_v01.ipynb" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "if (file.exists(Sys.getenv(\"TAR\")) == FALSE) {\n", + " Sys.setenv(TAR = \"/bin/tar\")\n", + "}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**The installation of `Rcupcake` might take up to 10 minutes.**" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Downloading GitHub repo hms-dbmi/Rcupcake@master\n", + "from URL https://api.github.com/repos/hms-dbmi/Rcupcake/zipball/master\n", + "Installing Rcupcake\n", + "'/opt/conda/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore \\\n", + " --quiet CMD INSTALL \\\n", + " '/tmp/RtmpbJAsFI/devtools195623346dee9/hms-dbmi-Rcupcake-425c4b5' \\\n", + " --library='/opt/conda/lib/R/library' --install-tests \n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "[1] ‘0.99.0’" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "install_github(\"hms-dbmi/Rcupcake\", force = TRUE)\n", + "library(Rcupcake)\n", + "packageVersion(\"Rcupcake\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** If you want to skip the query of the data and start directly at the data management part, make sure the \"NHANES.text\" file is in the directory you are working in and execute the following line of code in a new cell:**\n", + "```\n", + "nhanes_query <- read.table(\"NHANES.txt\", sep=\"\", header = TRUE)\n", + "```\n", + "\n", + "The NHANES.txt is the NHANES unified dataset _(details are provided in the section 2)_ archived in a csv format on which the analysis will be performed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2) Query of data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Data involved in the following process are National Health and Nutrition Examination Survey (NHANES) public data collected during the 2009-2012 period. The PIC-SURE team has reassembled it from CDC NHANES (https://www.cdc.gov/nchs/nhanes/index.htm) and has created what is called 'NHANES unified dataset' whose content can be found at https://nhanes.hms.harvard.edu/.\n", + "\n", + "_For more information on NHANES, PIC-SURE and NHANES unified dataset, click : https://www.cdc.gov/nchs/nhanes/index.htm and https://pic-sure.org/products/nhanes-unified-dataset _" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## a) Start the session" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We first need to establish a connection to the database (https://nhanes.hms.harvard.edu/). To do so you first need to erase the api key in quotations and then copy and paste the BD2K PICSURE API Key instead. You can find this key by clicking on \"Public user\" and then \"User profile\" on the link provided.\n", + "\n", + "Once the code executed, you should obtain this output : 'Start Session: success'" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "'Start Session: success'" + ], + "text/latex": [ + "'Start Session: success'" + ], + "text/markdown": [ + "'Start Session: success'" + ], + "text/plain": [ + "[1] \"Start Session: success\"" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sessionEx <- start.session( \n", + " url = \"https://nhanes.hms.harvard.edu/\", \n", + " apiKey = \"bc5ulnvruft3036l47t3ld1tiu\"\n", + " )\n", + "sessionEx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The line of code below enables to retrieve the paths of the location of each variable of interest. A vector of these 3 paths is then created." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\t
  1. '/nhanes/Demo/demographics/demographics/AGE/'
  2. \n", + "\t
  3. '/nhanes/Demo/demographics/demographics/area/'
  4. \n", + "\t
  5. '/nhanes/Demo/demographics/demographics/DMDBORN/'
  6. \n", + "\t
  7. '/nhanes/Demo/demographics/demographics/DMDMARTL/'
  8. \n", + "\t
  9. '/nhanes/Demo/demographics/demographics/education/'
  10. \n", + "\t
  11. '/nhanes/Demo/demographics/demographics/INDFMPIR/'
  12. \n", + "
\n" + ], + "text/latex": [ + "\\begin{enumerate*}\n", + "\\item '/nhanes/Demo/demographics/demographics/AGE/'\n", + "\\item '/nhanes/Demo/demographics/demographics/area/'\n", + "\\item '/nhanes/Demo/demographics/demographics/DMDBORN/'\n", + "\\item '/nhanes/Demo/demographics/demographics/DMDMARTL/'\n", + "\\item '/nhanes/Demo/demographics/demographics/education/'\n", + "\\item '/nhanes/Demo/demographics/demographics/INDFMPIR/'\n", + "\\end{enumerate*}\n" + ], + "text/markdown": [ + "1. '/nhanes/Demo/demographics/demographics/AGE/'\n", + "2. '/nhanes/Demo/demographics/demographics/area/'\n", + "3. '/nhanes/Demo/demographics/demographics/DMDBORN/'\n", + "4. '/nhanes/Demo/demographics/demographics/DMDMARTL/'\n", + "5. '/nhanes/Demo/demographics/demographics/education/'\n", + "6. '/nhanes/Demo/demographics/demographics/INDFMPIR/'\n", + "\n", + "\n" + ], + "text/plain": [ + "[1] \"/nhanes/Demo/demographics/demographics/AGE/\" \n", + "[2] \"/nhanes/Demo/demographics/demographics/area/\" \n", + "[3] \"/nhanes/Demo/demographics/demographics/DMDBORN/\" \n", + "[4] \"/nhanes/Demo/demographics/demographics/DMDMARTL/\" \n", + "[5] \"/nhanes/Demo/demographics/demographics/education/\"\n", + "[6] \"/nhanes/Demo/demographics/demographics/INDFMPIR/\" " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nhanesDemographics <- get.children( \n", + " url = \"https://nhanes.hms.harvard.edu/\", \n", + " fieldname = \"/nhanes/Demo/demographics/demographics/\"\n", + " )\n", + "\n", + "\n", + "nhanesFood_recall <- get.children( \n", + " url = \"https://nhanes.hms.harvard.edu/\", \n", + " fieldname = \"/nhanes/Demo/questionnaire/questionnaire/food component recall/\"\n", + " )\n", + "\n", + "nhanesBody_measurements <- get.children( \n", + " url = \"https://nhanes.hms.harvard.edu/\", \n", + " fieldname = \"/nhanes/Demo/examination/examination/body measures/\"\n", + " )\n", + "\n", + "nhanesVector <- c( nhanesDemographics, nhanesFood_recall, nhanesBody_measurements)\n", + "head(nhanesVector)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## b) Build a json query" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the paths have been gathered, we can create the JSON query to retrieve the variables of interest." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{\n", + " \"select\": [\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/demographics/demographics/AGE/\",\n", + " \"dataType\": \"AGE\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/demographics/demographics/AGE/\"\n", + " },\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/demographics/demographics/SEX/female/\",\n", + " \"dataType\": \"female\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/demographics/demographics/SEX/\"\n", + " },\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/demographics/demographics/SEX/male/\",\n", + " \"dataType\": \"male\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/demographics/demographics/SEX/\"\n", + " },\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/questionnaire/questionnaire/food component recall/Sugarfree Diet/\",\n", + " \"dataType\": \"Sugarfree Diet\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/questionnaire/questionnaire/food component recall/Sugarfree Diet/\"\n", + " },\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/examination/examination/body measures/Body Mass Index (kg per m**2)/\",\n", + " \"dataType\": \"Body Mass Index (kg per m**2)\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/examination/examination/body measures/Body Mass Index (kg per m**2)/\"\n", + " },\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/examination/examination/body measures/Waist Circumference (cm)/\",\n", + " \"dataType\": \"Waist Circumference (cm)\"\n", + " },\n", + " \"alias\": \"/nhanes/Demo/examination/examination/body measures/Waist Circumference (cm)/\"\n", + " }\n", + " ],\n", + " \"where\": [\n", + " {\n", + " \"field\": {\n", + " \"pui\": \"/nhanes/Demo/demographics/demographics/AGE/\",\n", + " \"dataType\": \"STRING\"\n", + " },\n", + " \"predicate\": \"CONTAINS\",\n", + " \"fields\": {\n", + " \"ENCOUNTER\": \"YES\"\n", + " }\n", + " }\n", + " ]\n", + "} " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "query_example <- my.query( myfields = \"AGE|SEX|Body Mass Index (kg per m**2)|Waist Circumference (cm)|Sugarfree Diet\", \n", + " myvector = nhanesVector, \n", + " url = \"https://nhanes.hms.harvard.edu/\"\n", + " )\n", + "query_example" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## c) Create a dataframe from the json query" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once the json query has been built, we can finally create our dataframe (`nhanes_query`) on which analysis will be performed. The format (`csv`) and the path of the output (`./dataNHANES.txt`) need to be specified in the code.\n", + "\n", + "Note that the creation of the dataframe might take a few minutes." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "nhanes_query <- my.data( \n", + " query = query_example,\n", + " url = \"https://nhanes.hms.harvard.edu/\", \n", + " responseFormat = \"CSV\", \n", + " outputPath = \"./NHANES.txt\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here's a view of the six first rows of `nhanes_query` :" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
patient_idX.nhanes.Demo.demographics.demographics.SEX.X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.X.nhanes.Demo.demographics.demographics.AGE.X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..
2 male 0 85 99.426.32
5 male 0 18 NA22.58
7 male 0 31 110.133.09
9 male 0 52 90.221.10
10 male NA 25 103.230.12
18 male NA 40 100.028.97
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llllll}\n", + " patient\\_id & X.nhanes.Demo.demographics.demographics.SEX. & X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet. & X.nhanes.Demo.demographics.demographics.AGE. & X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm.. & X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..\\\\\n", + "\\hline\n", + "\t 2 & male & 0 & 85 & 99.4 & 26.32\\\\\n", + "\t 5 & male & 0 & 18 & NA & 22.58\\\\\n", + "\t 7 & male & 0 & 31 & 110.1 & 33.09\\\\\n", + "\t 9 & male & 0 & 52 & 90.2 & 21.10\\\\\n", + "\t 10 & male & NA & 25 & 103.2 & 30.12\\\\\n", + "\t 18 & male & NA & 40 & 100.0 & 28.97\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "patient_id | X.nhanes.Demo.demographics.demographics.SEX. | X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet. | X.nhanes.Demo.demographics.demographics.AGE. | X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm.. | X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2.. | \n", + "|---|---|---|---|---|---|\n", + "| 2 | male | 0 | 85 | 99.4 | 26.32 | \n", + "| 5 | male | 0 | 18 | NA | 22.58 | \n", + "| 7 | male | 0 | 31 | 110.1 | 33.09 | \n", + "| 9 | male | 0 | 52 | 90.2 | 21.10 | \n", + "| 10 | male | NA | 25 | 103.2 | 30.12 | \n", + "| 18 | male | NA | 40 | 100.0 | 28.97 | \n", + "\n", + "\n" + ], + "text/plain": [ + " patient_id X.nhanes.Demo.demographics.demographics.SEX.\n", + "1 2 male \n", + "2 5 male \n", + "3 7 male \n", + "4 9 male \n", + "5 10 male \n", + "6 18 male \n", + " X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.\n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 0 \n", + "5 NA \n", + "6 NA \n", + " X.nhanes.Demo.demographics.demographics.AGE.\n", + "1 85 \n", + "2 18 \n", + "3 31 \n", + "4 52 \n", + "5 25 \n", + "6 40 \n", + " X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..\n", + "1 99.4 \n", + "2 NA \n", + "3 110.1 \n", + "4 90.2 \n", + "5 103.2 \n", + "6 100.0 \n", + " X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..\n", + "1 26.32 \n", + "2 22.58 \n", + "3 33.09 \n", + "4 21.10 \n", + "5 30.12 \n", + "6 28.97 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "head(nhanes_query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " # 3) Data management" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## a) Basic quick overview of variables structure" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Observations: 41,474\n", + "Variables: 6\n", + "$ patient_id ...\n", + "$ X.nhanes.Demo.demographics.demographics.SEX. ...\n", + "$ X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet. ...\n", + "$ X.nhanes.Demo.demographics.demographics.AGE. ...\n", + "$ X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm.. ...\n", + "$ X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2.. ...\n" + ] + } + ], + "source": [ + "glimpse(nhanes_query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see here that the variable names are long and cumbersome to manipulate. Plus the variable adressing the sugar fee diet (yes or no) is considered as integer instead of categorical. We will then modify these in the next steps." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## b) Modify variables names to make it more manageable" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\t
  1. 'patient_id'
  2. \n", + "\t
  3. 'X.nhanes.Demo.demographics.demographics.SEX.'
  4. \n", + "\t
  5. 'X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.'
  6. \n", + "\t
  7. 'X.nhanes.Demo.demographics.demographics.AGE.'
  8. \n", + "\t
  9. 'X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..'
  10. \n", + "\t
  11. 'X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..'
  12. \n", + "
\n" + ], + "text/latex": [ + "\\begin{enumerate*}\n", + "\\item 'patient\\_id'\n", + "\\item 'X.nhanes.Demo.demographics.demographics.SEX.'\n", + "\\item 'X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.'\n", + "\\item 'X.nhanes.Demo.demographics.demographics.AGE.'\n", + "\\item 'X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..'\n", + "\\item 'X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..'\n", + "\\end{enumerate*}\n" + ], + "text/markdown": [ + "1. 'patient_id'\n", + "2. 'X.nhanes.Demo.demographics.demographics.SEX.'\n", + "3. 'X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.'\n", + "4. 'X.nhanes.Demo.demographics.demographics.AGE.'\n", + "5. 'X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..'\n", + "6. 'X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..'\n", + "\n", + "\n" + ], + "text/plain": [ + "[1] \"patient_id\" \n", + "[2] \"X.nhanes.Demo.demographics.demographics.SEX.\" \n", + "[3] \"X.nhanes.Demo.questionnaire.questionnaire.food.component.recall.Sugarfree.Diet.\" \n", + "[4] \"X.nhanes.Demo.demographics.demographics.AGE.\" \n", + "[5] \"X.nhanes.Demo.examination.examination.body.measures.Waist.Circumference..cm..\" \n", + "[6] \"X.nhanes.Demo.examination.examination.body.measures.Body.Mass.Index..kg.per.m..2..\"" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
patient_idsexsugarfree_dietagewaist_circumferencebody_mass_index
2 male 0 85 99.426.32
5 male 0 18 NA22.58
7 male 0 31 110.133.09
9 male 0 52 90.221.10
10 male NA 25 103.230.12
18 male NA 40 100.028.97
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llllll}\n", + " patient\\_id & sex & sugarfree\\_diet & age & waist\\_circumference & body\\_mass\\_index\\\\\n", + "\\hline\n", + "\t 2 & male & 0 & 85 & 99.4 & 26.32\\\\\n", + "\t 5 & male & 0 & 18 & NA & 22.58\\\\\n", + "\t 7 & male & 0 & 31 & 110.1 & 33.09\\\\\n", + "\t 9 & male & 0 & 52 & 90.2 & 21.10\\\\\n", + "\t 10 & male & NA & 25 & 103.2 & 30.12\\\\\n", + "\t 18 & male & NA & 40 & 100.0 & 28.97\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "patient_id | sex | sugarfree_diet | age | waist_circumference | body_mass_index | \n", + "|---|---|---|---|---|---|\n", + "| 2 | male | 0 | 85 | 99.4 | 26.32 | \n", + "| 5 | male | 0 | 18 | NA | 22.58 | \n", + "| 7 | male | 0 | 31 | 110.1 | 33.09 | \n", + "| 9 | male | 0 | 52 | 90.2 | 21.10 | \n", + "| 10 | male | NA | 25 | 103.2 | 30.12 | \n", + "| 18 | male | NA | 40 | 100.0 | 28.97 | \n", + "\n", + "\n" + ], + "text/plain": [ + " patient_id sex sugarfree_diet age waist_circumference body_mass_index\n", + "1 2 male 0 85 99.4 26.32 \n", + "2 5 male 0 18 NA 22.58 \n", + "3 7 male 0 31 110.1 33.09 \n", + "4 9 male 0 52 90.2 21.10 \n", + "5 10 male NA 25 103.2 30.12 \n", + "6 18 male NA 40 100.0 28.97 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "names(nhanes_query)\n", + "\n", + "variables <- c('patient_id', 'sex', 'sugarfree_diet', 'age', 'waist_circumference', 'body_mass_index')\n", + "\n", + "names(nhanes_query) <- variables\n", + "\n", + "head(nhanes_query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## c)Transform the variable `sugarfree_diet` into a categorical variable and label it" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "nhanes_query$sugarfree_diet <- factor(nhanes_query$sugarfree_diet, levels=c('0','1'), labels=c('No','Yes'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4) Descriptive statistics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here's a view of the six first rows of `nhanes_query` now that we have modified the variables:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
patient_idsexsugarfree_dietagewaist_circumferencebody_mass_index
2 male No 85 99.426.32
5 male No 18 NA22.58
7 male No 31 110.133.09
9 male No 52 90.221.10
10 male NA 25 103.230.12
18 male NA 40 100.028.97
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llllll}\n", + " patient\\_id & sex & sugarfree\\_diet & age & waist\\_circumference & body\\_mass\\_index\\\\\n", + "\\hline\n", + "\t 2 & male & No & 85 & 99.4 & 26.32\\\\\n", + "\t 5 & male & No & 18 & NA & 22.58\\\\\n", + "\t 7 & male & No & 31 & 110.1 & 33.09\\\\\n", + "\t 9 & male & No & 52 & 90.2 & 21.10\\\\\n", + "\t 10 & male & NA & 25 & 103.2 & 30.12\\\\\n", + "\t 18 & male & NA & 40 & 100.0 & 28.97\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "patient_id | sex | sugarfree_diet | age | waist_circumference | body_mass_index | \n", + "|---|---|---|---|---|---|\n", + "| 2 | male | No | 85 | 99.4 | 26.32 | \n", + "| 5 | male | No | 18 | NA | 22.58 | \n", + "| 7 | male | No | 31 | 110.1 | 33.09 | \n", + "| 9 | male | No | 52 | 90.2 | 21.10 | \n", + "| 10 | male | NA | 25 | 103.2 | 30.12 | \n", + "| 18 | male | NA | 40 | 100.0 | 28.97 | \n", + "\n", + "\n" + ], + "text/plain": [ + " patient_id sex sugarfree_diet age waist_circumference body_mass_index\n", + "1 2 male No 85 99.4 26.32 \n", + "2 5 male No 18 NA 22.58 \n", + "3 7 male No 31 110.1 33.09 \n", + "4 9 male No 52 90.2 21.10 \n", + "5 10 male NA 25 103.2 30.12 \n", + "6 18 male NA 40 100.0 28.97 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "head(nhanes_query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## a) Description of variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following meaning of the variables are provided according to the CDC NHANES website(https://www.cdc.gov/nchs/nhanes/index.htm):\n", + "\n", + "- `patient_id` : anonymous unique identifier of individuals\n", + "- `sex` : male / female\n", + "- `high_fiber_diet` : yes (the individual has a high fiber diet) / no (the individual does not have a high fiber diet)\n", + "- `age` : age of individuals in years\n", + "- `waist_circumference` : waist circumference of indviduals in cm\n", + "- `body_mass_index` : Body mass index of individual in kg/m^2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below you can see a basic statistics summary of our dataset :" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Description of nhanes_query[, -1] \n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + " Numeric \n", + " mean sd median min max valid.n\n", + "age 29.25 24.80 19.0 0.00 85.00 41474\n", + "waist_circumference 85.04 21.01 85.3 32.00 175.00 34409\n", + "body_mass_index 24.94 7.19 24.2 7.99 130.21 35108\n", + "\n", + " Factor \n", + " \n", + "sex female male\n", + " Count 21210.00 20264.00\n", + " Percent 51.14 48.86\n", + "Mode female \n", + " \n", + "sugarfree_diet No Yes\n", + " Count 21881.00 19482.00 111.00\n", + " Percent 52.76 46.97 0.27\n", + "Mode NA " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "describe(nhanes_query[, -1], num.desc = c(\"mean\", \"sd\", \"median\", \"min\", \"max\", \"valid.n\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## b) Gender distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "female male \n", + " 21210 20264 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gender_distribution <- table(nhanes_query$sex)\n", + "\n", + "gender_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "female male \n", + " 51.1 48.9 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gender_proportion<- round(100*gender_distribution/sum(gender_distribution), 1)\n", + "\n", + "gender_proportion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are 21210 females (51.1%) and 20264 males (48.9%)." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n/PPPS2revPmlni01NTUwMPB81Uny8fEJDg5OSkqS1KhRI0mjRo3Ky8vLy8sbPXr0+Qfj4+O3\nbt1adLwHwEVwYgcAxSkuLi46Onry5Mn9+/evVavWzp07L/xrNjMzs0+fPvPmzStXrlxAQMDB\ngwfPnTs3fPjwsWPHli5d+qJPWKdOneTk5PT09IoVKxY9kpaWFhISEhQUdOjQofT09IiIiMOH\nD/v5+bm5uZ04cSIwMPDHH3+sWLFigwYNXnzxxZiYmGvxYwNwDJzYAUCx2b9///3339+5c+dH\nHnnkol/g7e1dvnx5SdnZ2b/88su5c+fc3Nz8/Pw8PDwu9Zzt2rUrKCjo06fPyZMnJaWlpfXs\n2VNSRkaGpKCgoISEhG7dunl6epYtW7Zbt24JCQlBQUHTpk3z9fXt2LFjifycABwVJ3YAUDzy\n8vJatWqVlpa2efNmPz8/Sb8/sXv77beHDBlSv379KVOmhIWFbdq0acCAAUlJSdOmTevTp89F\nn/bEiRORkZF79+51d3cPDg4+cOBA06ZNU1NT3d3dDx48eKlvqVmz5pdfftm4ceODBw/+85//\nTEhIqFGjxjPPPBMeHl4SPzsAB0HYAUDxGDVq1NixY7/77ruiW9x0sbCrXbv2jh07UlNTq1Wr\nVvRIcnJyWFhYRETEli1bLvXMGRkZTz/99MqVK0+dOhUVFfXOO+9Urlw5NDR08+bNF/36YcOG\nHTp0aNasWenp6ZGRkedfq1G2bNm1a9c2aNCgeH5gAI6HS7EAUDwSEhJyc3MbN27s9qudO3dK\nKvr4xIkTknbv3l2pUqXzVSepVq1awcHBKSkpf/DM5cuXnzp1ampq6pEjRz755JPc3NycnJyQ\nkJCLfvHOnTvfe++9MWPGSHr55ZfT09Mffvjh48ePv/LKK2fPni168xQAtrrkXR0AgL+k6BTt\nwkd2796dm5tb9GCpUqUk3XTTTfv27cvNzT3/UomzZ89mZGRcmHq/sXDhws2bN/fv3z84OPj8\nI5K6dOly0a8fNmzYo48+WqVKFUnr16+XNHLkSH9//8cff/zll1/esGHDVf+gABwXJ3YAUDym\nTJmS/L+Kcq3oY19fX0lt2rQ5c+bMq6++WvQthYWFo0aNOnfu3J133nn+eY4ePXr8+PHznx47\ndmz06NGvv/560aeHDh0aM2aMn5/fRcMuLi5u/fr1I0eOLPo0KChI0q5du4qeNisr6/zbJgOw\nEvfYAUBJ+f09dsePH69Xr97evXubN28eGhqakJCQmJh4yy23JCQkFJWfJDc3t9DQ0OTk5KJP\nc3JybrvttsTExFatWoWEhCxfvvzIkSPTp09/4IEHfvOvy83NjYiIGDBgwGOPPVb0SHx8fJs2\nbapXr963b98FCxasW7duypQpl3rFLgALcGIHANfO9ddfn5iYOGjQoCNHjsyePTs/P/+pp57a\ntGnT+ar7PS8vr+XLl/fr1y8lJeXzzz8PDQ2Ni4v7fdVJmjRpUl5e3oXd9re//S0uLq58+fIv\nvfRSVlbWhx9++PDDD5fIDwbAMXBiBwAAYAlO7AAAACxB2AEAAFiCsAMAALAEYQcAAGAJwg4A\nAMAShB0AAIAlCDsAAABLEHYAAACWIOwAAAAsQdgBAABYgrADAACwBGEHAABgCcIOAADAEoQd\nAACAJQg7AAAASxB2AAAAliDsAAAALEHYAQAAWIKwAwAAsARhBwAAYAnCDgAAwBKEHQAAgCUI\nOwAAAEsQdgAAAJYg7AAAACxB2AEAAFiCsAMAALAEYQcAAGAJwg4AAMAShB0AAIAlCDsAAABL\nEHYAAACWIOwAAAAsQdgBAABYgrADAACwBGEHAABgCcIOAADAEoQdAACAJQg7AAAASxB2AAAA\nliDsAAAALEHYAQAAWIKwAwAAsARhBwAAYAnCDgAAwBKEHQAAgCUIOwAAAEsQdgAAAJYg7AAA\nACxB2AEAAFiCsAMAALAEYQcAAGAJwg4AAMAShB0AAIAlCDsAAABLEHYAAACWIOwAAAAsQdgB\nAABYgrADAACwBGEHAABgCcIOAADAEoQdAACAJQg7AAAASxB2AAAAliDsAAAALEHYAQAAWIKw\nAwAAsARhBwAAYAnCDgAAwBKEHQAAgCUIOwAAAEsQdgAAAJYg7AAAACxB2AEAAFiCsAMAALAE\nYQcAAGAJwg4AAMAShB0AAIAlCDsAAABLEHYAAACWIOwAAAAsQdgBAABYgrADAACwBGEHAABg\nCcIOAADAEoQdAACAJQg7AAAASxB2AAAAliDsAAAALEHYAQAAWIKwAwAAsARhBwAAYAnCDgAA\nwBKEHQAAgCUIOwAAAEsQdgAAAJYg7AAAACxB2AEAAFiCsAMAALAEYQcAAGAJwg4AAMAShB0A\nAIAlCDsAAABLEHYAAACWIOwAAAAsQdgBAABYgrADAACwBGEHAABgCcIOAADAEoQdAACAJQg7\nAAAASxB2AAAAliDsAAAALEHYAQAAWIKwAwAAsARhBwAAYAnCDgAAwBKEHQAAgCUIOwAAAEsQ\ndgAAAJYg7AAAACxB2AEAAFiCsAMAALAEYQcAAGAJwg4AAMAShB0AAIAlCDsAAABLEHYAAACW\nIOwAAAAsQdgBAABYgrADAACwBGEHAABgCcIOAADAEoQdAACAJQg7AAAASxB2AAAAliDsAAAA\nLEHYAQAAWIKwAwAAsARhBwAAYAnCDgAAwBKEHQAAgCUIOwAAAEsQdgAAAJYg7AAAACxB2AEA\nAFiCsAMAALAEYQcAAGAJwg4AAMAShB0AAIAlCDsAAABLEHYAAACWIOwAAAAsQdgBAABYgrAD\nAACwBGEHAABgCcIOAADAEoQdAACAJQg7AAAASxB2AAAAliDsAAAALEHYAQAAWIKwAwAAsARh\nBwAAYAnCDgAAwBKEHQAAgCUIOwAAAEsQdgAAAJYg7AAAACxB2AEAAFiCsAMAALAEYQcAAGAJ\nwg4AAMAShB0AAIAl/h8jXj9tQB8b0QAAAABJRU5ErkJggg==", + "text/plain": [ + "Plot with title “Gender distribution”" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gender_percent <- paste(gender_proportion,\"%\",sep=\"\")\n", + "\n", + "pie(gender_distribution, labels = gender_percent, main = \"Gender distribution\", col = c(\"pink\", \"blue\"))\n", + "legend(\"topright\", c(\"female\", \"male\"), fill = c(\"pink\", \"blue\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## c) Age according to gender distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "
sexfirst_quantile_agemedian_agethird_quantile_age
female10 20 47.00
male 9 19 47.25
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llll}\n", + " sex & first\\_quantile\\_age & median\\_age & third\\_quantile\\_age\\\\\n", + "\\hline\n", + "\t female & 10 & 20 & 47.00 \\\\\n", + "\t male & 9 & 19 & 47.25 \\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "sex | first_quantile_age | median_age | third_quantile_age | \n", + "|---|---|\n", + "| female | 10 | 20 | 47.00 | \n", + "| male | 9 | 19 | 47.25 | \n", + "\n", + "\n" + ], + "text/plain": [ + " sex first_quantile_age median_age third_quantile_age\n", + "1 female 10 20 47.00 \n", + "2 male 9 19 47.25 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOz9eXxU5d0//p+w75tFMIAigiBIQXGpEEsFQa3e1toWrbVW5aYVbvFW3KqI\niqIWcasa+nFta+3PhVqoVXG5QSqCIlj0FkW0cAsqi+xEEILJfP+Y3z2P3EkIE5xwci6ez7+S\naw5n3mdyruTFOde8Jy+VSkUAACRfnbgLAAAgNwQ7AIBACHYAAIEQ7AAAAiHYAQAEQrADAAiE\nYAcAEAjBDgAgEIIdAEAgBDsAgEAIdgAAgRDsAAACIdgBAARCsAMACIRgBwAQCMEOACAQgh0A\nQCAEOwCAQAh2AACBEOwAAAIh2AEABEKwAwAIhGAHABAIwQ4AIBCCHQBAIAQ7AIBACHYAAIEQ\n7AAAAiHYAQAEQrADAAiEYAcAEAjBDgAgEIIdAEAgBDsAgEAIdgAAgRDsAAACIdgBAARCsAMA\nCIRgBwAQCMGO5MmrTN26dbt27XrqqafOnj077gIrkakz7kIqsW7durPPPnu//fbLy8vr3Llz\n3OXkRqUv+F7+KVR8ulhOg9jPvdgLqA28COw1ealUKu4aoHp2+8tx/Pjx119//d4pJkuZmvd4\nxk2YMCH9xXXXXZebmv7XhRde+Pvf/z799UEHHfTJJ5/kdv+xqPQF/yY/hT14/Ss+3Tc/Daqw\nqwpr9EmzEXsBtYEXgb1GsCN5dhvs8vLyXn/99f79+++derLxzX+t19wfhvz8/FWrVkVRdMop\npxQUFFx77bW53X8sch7s9uDf7uVgt6udxx4pYi+gNvAisNcIdiRPpb8it27dumDBgpEjRy5e\nvDiKojPOOGPq1Knx1FeZ2hzs6tSpk97nli1bmjdvntudxyXnL1dOdhhLsItdrS1sb/IisNcI\ndiRPFb8i33jjjfSFug4dOnz22Wd7u7Jdq83BLsg/OYJd7VFrC9ubvAjsNd48QVB69+6d/mLb\ntm3lHlq7du24ceOGDBmy//77t2/ffsiQIePGjVu7dm3ZbebPn1+3bt30GufvfOc7mV/Bl19+\neWbt8/333x+VWQqdSqUefPDBvn37NmnSZP/99z/nnHM++OCD7AvOpqqzzz673AL8bN7ikM2e\nDz/88HJ7rlevXtW7/frrr59++umhQ4d27dq1cePGbdu2PeKIIy6//PKKK/NWrVp17rnntm3b\ntmnTpgUFBdOnT492vYT8jTfeGDZsWH5+fsOGDbt27Xr22WfPnz9/t8eY9sUXX5x//vnt2rVr\n1KjR4Ycffvfdd5eUlFS6Zav/VXZw+/bt999/f0FBQYcOHZo0adK9e/dTTz116tSpmZ1U/fqX\nPaJXX331uOOOa9iw4ddff72rp0v7+uuv77zzzl69ejVq1Khdu3bnnnvuRx99VG6bKpbbl3uo\n6gp3VUY2Z0i5p0ulUn/605+OOeaYZs2atWvX7vvf//57771Xcftd2e1R/+pXv0o/Ud26ddet\nW1f2odNPPz390JAhQ6p+lpyfeNU9/OxPyOoWEFU4x6ASKUiaKs7eN998M/1Q//79y46//fbb\nbdu2rXj+t23bdsGCBWW3vPLKKzOPPvPMM6lUavny5Q0bNkyPFBQUlJSUlK3h8ssvL7fPBg0a\nvPDCC9nUnGVVZ511VrkNDjrooKpfoiz33KtXr3Ib1K1bt4rdFhcXDx48uOJuoyhq3rz5+++/\nn9ny3Xff7dixY7ltHnzwwUpfh1tuuaXSfd5yyy1VH2Yqlfrv//7vAw88sNw/POeccyp9ooqD\nmzdv7tmzZ6XPPnDgwO3bt+/29c8Mvvzyy5lYvHPnzkqfLjNScZ+NGzeeOXNm1dXu6qEsKyy7\nh+xnRNk9XHHFFeW2b9CgweLFi6v+GWV/1HPmzMk89Oijj2bGt23b1rhx44rjFdXEiVetw6/W\nCVndAiqeY1CRYEfyVPorcuvWrf/4xz8ySeXGG2/MPLRz586yCaZnz55l/5b36tWr7K/Ibdu2\ndevWLf3QoYceunPnzvPPPz/9baNGjZYsWVKuhrT99ttvv/32y3zbrl27r776quqas6/qsssu\n6969e+ah7t27Dxo0qIrXJ/s9n3baaeX23LNnzyr2fPPNN2c2PuiggwYOHNi9e/c6df7/F/5P\nOumk9GZff/31YYcdltmybdu2LVq0iKKo7OXAzD7nzp2bGRwwYMDw4cOPOOKIzMgf/vCHKur5\n+uuvyx5amzZtyv4Uyj1RpT+FX/7yl+mRxo0bH3vssT/60Y+OPvrozGaXX375bl//zHjXrl0z\nX+822KXtt99+bdq0yXzboUOHHTt2VFHtrh7KssLMSLVmRMWy27Zt26hRo8y3w4YNq+JnVK2j\nLi0tzcy+008/PbOH559/Pj3YsGHDjRs37uqJaujEy/7wq3VC7kEBFc8xqEiwI3mi3encufPW\nrVsz2xcWFqbHW7Vq9dprr6UHX3vttczNqd/97ndl9//aa69ldnXppZdmgsukSZMq1tCkSZNn\nnnmmtLS0tLT0r3/9a5MmTSrdZ8Vf69WtquIedqXm9pwJPZdffnlpaWl68L//+7/Tg61bt06P\n/OlPf8q8ONOmTSstLf36668ffPDB+vXrl3uu0tLSAQMGpEeuueaa9D5LS0tvuOGG9GCHDh3K\nReSyMl1aGjdu/PTTT1f8KUS7C3ZdunRJj3z44YeZwWeffTY9eNhhh+32VYrK+OlPfzp58uQH\nH3yw3GXdihs3bdo0fdqUlJQ8+eSTmaBQ9nJUFT+XLI9uV+N7fIYceeSR6Rdqx44dmUzcpUuX\nihVW+s+zOerMfx4aNWr05ZdfpgdHjhyZHjzzzDOreKIaOvGyP/zsT8g9KyCqcI5BRYIdyRPt\nTp8+fZYvX57Z/rTTTkuPl01mqVTq9ttvT4+XvTaQ9h//8R/l9nn00UeX/S9yZvzmm28u+w9v\nuumm9PjJJ59cac17XFXFPexKze356aeffuKJJ5544okvvvgiPVJcXPzkk0+W28Ppp5+e/vam\nm24q+8/HjBlTbsv/+Z//yYysW7cus+X27dszV1nK3aAs69/+7d8qfaLMTyHaXfRJX9GJouis\ns8565ZVXtm3blkqlSkpKZs+ePXv27Ndff323r1JmvOKN44r/JDNy6623lt0y03bxlFNO2e0z\n7uqh3VaYGdnjM+Ttt9/ODH7++efpwfS7qqtQraMuu1jzL3/5SyqVKi0t7dSpU9mRXamhEy/7\nw8/+hNyzArJZnACCHcmT+TXXvYxu3bq1bt0681B+fv5nn32W3j5zc+df//pX2f0sWbIkPV72\nwkzali1bDjrooMze6tevv2jRokpr+OijjyrdZ9euXSvdPjNS3aoq7mFXam7Paf/6178eeOCB\nX/7yl/379y97Tyqzh8ztsMyd67SyK83TIy+//HK0O7fffvuuKjn00EMrfaIPP/yw0oOqOHj2\n2WeXfa6GDRsOHjz4tttuW7hwYbnn2tWrlBnPnG9V/JPMSLkfTabgsqdNFT+XLI9uV+N7fIaU\n/b9NaWlpFRVW+s+zOepUKjVo0KD0+Lnnnpsqc0m4efPm6eS9KzV04mV/+NmfkHtWQMVzDCoS\n7Eieir9PMz7++OOTTjop/egvfvGL9GAmfJT7q7B169b0eOPGjSvu6je/+U3mic4444xd1bCr\nfTZq1KjqmqtbVRVHXU7N7fnLL78877zzyv7tqVu37lFHHVVuD7sq4Msvvyy35eTJkyv9k1bW\nlVdeudsjLXvnveyRRruLPhs3bhw5cmTmul1ZBQUFZf+O7upVyoxn7k1X8U8yI9mcNrt6xl09\ntNsKMyO5OkOqqLDSzbKcLH/84x/T461atSouLr711lvT355//vlVP1ENnXh78MLu9oTcswIq\nnmNQkXYnBKVr164PP/xw+usXXngh/UXmPs7KlSvLbpy5mdKhQ4dy+1m3bt2dd96Z+fbZZ5/N\nvN+2nMxO0jLN8zJPuit7UFWWam7PY8eOfeyxx6Io6tGjx+23375w4cItW7aUfSdjWubtlqtX\nry47Xq6eKIoyfwjr1KnTfReaNm26q3ry8/Mr3XO5H0oVWrVqNXny5DVr1kyfPv2SSy7JXHGJ\nouj111//1a9+leV+oiw+EKWsck0WP/300/QXZa8TZ6T+7/KDKnpnZKnmzpCqZXnUZ555ZvqH\nvmnTplmzZj333HPp8bLvLa3UXjvxdiX7E3LPCqjWOcY+S7AjNJkOdpk3PWT+Wk+bNq3sln/7\n29/SX5R9J13aJZdcUrahV2lp6QUXXLB9+/aKTzdlypSy3z799NPpL3r06FF1nXtQVZZqbs/P\nPPNM+otXX331yiuvTHfvW7RoUbnNDjnkkEoLyLw4GZlK6tWr98EHH3xYmcxy8ooytxSfeuqp\nsuN/+ctfsjyiRYsWLVq0aOPGjSeffPJvf/vbJUuWLF26dPTo0elH//GPf2S5n+oqd9pk1imW\nfXNrRvoD3zKy7/C3KzV3hlQty6Nu1qzZj3/84/TXDz/88BtvvBFFUbt27U444YSq97/XTrxd\nyf6ErKECIIr0sSOBKj17S0pK1q1bN3369G9/+9vpR3/yk5+kH7rvvvvSI2XfAzhr1qyWLVum\nx++7776yuyr7V+Guu+7KNLG7+uqrK9bQtGnT9PvvSktL//KXv2Te/vbggw9WXXN1q8rsYf36\n9VW/Pnu856p3m0qlMpcQXn755fTIF198cfzxx5fbQ+YPUsuWLV955ZX0uyCfeOKJTCuyzJZl\nP8SssLAw80Svvfba0Ucf3a9fv379+v3zn//cVT0PPPBA+t+WfW/y1KlTy17qqPpI0418e/fu\nvWXLlsxgZlFXpe+KLff6V/HqVXyo7Gnzt7/9LV3wlClTKm3SlmmH9tOf/nTTpk2pVKq0tPTV\nV1/NxJddHd1uK8zVGVLFsVe6WTZHnTZz5szo/7rkkkuqfpZUjZ142R9+9idkTgqASjlRSJ4o\nC/Xq1Zs9e3Z6++Li4sz/j/Py8nr16tWrV6/MTY3DDz+8uLg4s/MNGza0b98+/dCxxx5bWlqa\n6Upap06dt956q9IavvWtb5VtWNWtW7ey+0xV9qu5WlWlUqlMK4qBAweOGzeuitenunvO/s9G\n2eV0Xbt2PeaYY8r2cYj+dw3Qhg0bMhEhiqL27duX/bbcc/32t7/NDPbv33/48OEDBw5s0KBB\neuSEE06oYl3RV199lflhRRW6CVY8qIqDmSWDzZs3HzJkyJlnntmnT59Md4wxY8bs9vWv4tWr\n+FC52sqdNocddtjXX3+d2fjMM8/MPFS3bt0OHTqUDSgVnzT7CnN1hlRx7JVuls1Rp5WUlJS7\nP/vmm29W/SypGjvxsj/8ap2Q37wAqJQTheSJdqdu3br/7//9v7L/ZP78+RV/w0ZR1KNHj3ff\nfbfslr/4xS8yj6YvZqxfvz7zJ7NXr17pTyPIbHP11VeX2+cBBxxQRe/+PasqVaaTQpTFJ09U\na8+V1lapqVOnltth/fr1J0yYkGnQkPnwiWeeeaZiCrnmmmsqPtfOnTvLvuZlDR48OH2lqgov\nvfRS5pJqxjHHHFPpQVUcXLduXdkLYGX17du37BL4Xb3+Vbx6FR/KjPzwhz8s93SdOnV65513\nyv7zxYsXVzy0KIquuuqqSp+0WhXm5Ayp4tgr3Sybo84YN25cZrMuXbpk+b6BmjjxqnX42Z+Q\n37wAqJQTheSp9FdhFEXt2rXr16/fRRddtHTp0or/avXq1ddee+2gQYPatm3btm3bwYMHjx8/\nvty75zLvt4ii6N/+7d8y4xMnTsyMX3fddWVrKC0tffDBB7/97W83atSoR48eI0aMqLQlwa5+\nNWdTVdqKFStOPfXUFi1atGnT5rTTTtvtq5T9nqv1Z+OVV14pKCho3rx5r169fvGLX6RDQL9+\n/Ro2bNiwYcMf/vCHmS3/+c9/Dhs27MADD9xvv/2GDBny17/+tYoGGS+++OKZZ57ZvXv3Ro0a\nHXzwwaeddtqzzz6bZQvWxYsXn3POOemPGRgwYMC4ceOKiooa/q/dHumXX3553333FRQUHHjg\ngQ0aNDjggAOOO+64++67r1xj5F29/lW8ehUfylS1Y8eO2267rXv37g0bNuzZs+fIkSNXr15d\ncQ8ffPDBD37wgw4dOtSvX799+/Znnnnmq6++WnY/36TCb36GZHnmVPeo0z7++ONyky5LOT/x\nqnv42Z+Q37AAqFReKrsbW0BZmftWZlD2Pv300/S6sU6dOq1YsSLucqjVioqKWrZsmZ5f77//\n/q4+0jcbTjz2Kd4VC+TYkCFDjjrqqKOOOmrSpEllx5944on0F3369ImjLhJj586dV111VTrV\n9e3bN8tU58SDKIrq7X4TgOpo1qzZf/3Xf0VRtGjRorZt2/7whz/cunXrk08+mfkIqX//93+P\ntUBqtW7duq1Zs6aoqCj9beZTWXfLiQdRFLkVC3vCrdgqrFq16rjjjlu+fHmlj1566aV33333\nXi6JBGnVqtXmzZvTX3fq1Omjjz4q98l1u+LEg8itWCDnDjjggA8++OC222475JBDMm+Ybdmy\n5QknnPDqq6/640rVWrZs2bRp0379+o0YMeKtt97KMtVFTjyIosgVO6BGlZSUrFy5smnTpq1b\nt/aBSOw1Tjz2WYIdAEAg3IoFAAiEYAcAEAjBDgAgEIIdAEAgBDsAgEAIdgAAgRDsAAACIdgB\nAARCsAMACIRgBwAQCMEOACAQgh0AQCAEOwCAQAh2AACBEOwAAAIh2AEABEKwAwAIhGAHABAI\nwQ4AIBCCHQBAIAQ7AIBACHYAAIEQ7AAAAiHYAQAEQrADAAiEYAcAEAjBDgAgEIIdAEAgBDsA\ngEAIdgAAgRDsAAACIdgBAASiXtwFJEAqlZo7d+5XX30VdyEAQK3QuHHjAQMGxF1FJfJSqVTc\nNdR2CxYsOProo+OuAgCoRebPn3/UUUfFXUV5rtjtXnFxcRRFO3bsaNCgQdy1AAAxKy4ubtiw\nYToe1DbW2AEABEKwAwAIhGAHABAIwQ4AIBCCHQBAIAQ7AIBACHYAAIEQ7AAAAiHYAQAEQrAD\nAAiEYAcAEAjBDgAgEIIdAEAgBDsAgEAIdgAAgRDsAAACIdgBAARCsAMACIRgBwAQCMEOACAQ\n9eIuAP6Pzz//fO7cuXFXsec2bNgQRVGbNm3iLmTP9e/fv0OHDnFXQSKZv7EzfxHsqF0eeeSR\ne+65J+4q9ty2bduiKGrSpEnchey5yy67bNy4cXFXQSKZv7Ezf8lLpVJx11DbzZ07d8CAATt2\n7GjQoEHctVDbXXDBBVEU/f73v4+7EKDazF+yVFxc3LBhwzlz5vTv3z/uWsqzxg4AIBCCHQBA\nIAQ7AIBAePME5NKBBx4YdwnAHjJ/CYBgB7k0fvz4uEsA9pD5SwDcigUACIRgBwAQCMEOcunz\nzz///PPP464C2BPmLwGwxg5y6YYbboii6OGHH467EKDazF8CINhBLpWUlMRdArCHzF8C4FYs\nAEAgBDsAgEAIdgAAgbDGDnJJ53pILvOXAAh2kEs610Nymb8EwK1YAIBACHYAAIEQ7CCXdK6H\n5DJ/CYA1dpBLOtdDcpm/BECwg1zSuR6Sy/wlAG7FAgAEQrADAAhEwm7Fzps37/HHH3///fdX\nrVq1atWq4uLi/Pz8/Pz8/v37jxgx4pBDDom7QACA2CQm2KVSqdGjRxcWFqa/bdasWZs2bVKp\n1Jo1a5YuXTp79uyJEyeOGDFi8uTJ9eol5qAIj871kFzmLwFITAYqLCwsLCzs27fvNddcM3To\n0FatWmUe2rJly8yZM++6666HHnro0EMPveKKK2Ksk32czvWQXOYvAchLpVJx15CVY445Zt26\nde+9917Tpk0r3WDnzp0DBgxo0KDB66+/ntunnjt37oABA3bs2NGgQYPc7hkASJzi4uKGDRvO\nmTOnf//+cddSXmLePLF48eKCgoJdpbooiurXrz9o0KD33ntvb1YFAFB7JCbY9ezZc86cOdu2\nbdvVBjt37pw1a1bv3r33ZlVQjs71kFzmLwFITLA777zzli1bNmDAgClTpmzatKnsQ0VFRdOm\nTRs8ePC8efNOP/30uCqEKIpuuOGGdPN6IHHMXwKQmDdPjBo1asmSJYWFhcOGDYuiqHnz5q1b\nt87Ly9u4ceOWLVvS21xwwQWXXXZZrGWyr9O5HpLL/CUAiQl2eXl5995775gxYwoLCxcsWLBy\n5cqVK1emUqn27dv37t27oKBg+PDh3bp1i7tMAIDYJCbYpXXu3HnSpEk53OGWLVuuv/76r776\nqoptPvvssxw+IwBADUlYsMu5HTt2rF69urS0tIpt1qxZE0VRcXGxdicAQG2WpGD3wQcf3Hrr\nrR988MHxxx9/xx131KtX79FHH7333ns//vjjgw46aOjQoTfffHOLFi2qtc+2bds++eSTVW/z\nwAMPvP3229+gcPYhOtdDcpm/BCAxwW7p0qX9+/ffvHlzFEULFy5s2LBhs2bN0m9fat++/bJl\ny+69997p06f/85//bNasWdzFsu/SuR6Sy/wlAIlpd3Lbbbdt3rz5z3/+8/r160eNGjVp0qQb\nb7yxV69eH3744apVq7Zs2XLVVVd9/PHHt956a9yVAgDEIzHB7h//+MfgwYPPOeecNm3a/OY3\nv6lfv34qlfrd737XvXv3KIoaNmx422239enT54UXXoi7UgCAeCQm2H366addu3ZNf928efMD\nDjggiqIjjjgis0GdOnX69ev38ccfx1MfRFGkcz0kmflLABKzxq5du3YrV65Mf11cXLx27doo\nij788MOjjjoqPZhKpT788MPOnTvHVSFEUZRe9/nwww/HXQhQbeYvAUjMFbujjz76xRdfXLBg\nQRRF9957b7rz3K9+9atly5ZFUbRz584JEybMnTv3xBNPjLlQ9m0lJSWa10NCmb8EIDFX7K65\n5ppp06Ydc8wxbdu2/eKLL37yk5+0bt36wQcfPOSQQzp06LB+/frt27cfeOCB3tMEAOyzEnPF\nrl+/fi+88MIRRxxRVFR08sknP/roo5MnT7777rt79Oixbt26Tp06jRw58p133mnVqlXclQIA\nxCMxV+yiKBo6dOjQoUPLjlx66aWXXnppXPUAANQqSQp2UPvpXA/JZf4SAMEOcskqT0gu85cA\nJGaNHQAAVRPsAAACIdhBLulcD8ll/hIAa+wgl3Suh+QyfwmAYAe5pG09JJf5SwDcigUACIRg\nBwAQCMEOACAQ1thBLulcD8ll/hIAwQ5ySed6SC7zlwC4FQsAEAjBDgAgEIId5JLO9ZBc5i8B\nsMYOcknnekgu85cACHaQSzrXQ3KZvwTArVgAgEAIdgAAgRDsAAACYY0d5JLO9ZBc5i8BEOwg\nl3Suh+QyfwmAW7EAAIEQ7AAAAiHYQS7pXA/JZf4SAGvsIJd0rofkMn8JgGAHuaRzPSSX+UsA\n3IoFAAiEYAcAEAjBDgAgENbYQS7pXA/JZf4SAMEOcknnekgu85cAuBULABAIwQ4AIBCCHeSS\nzvWQXOYvAbDGDnJJ53pILvOXAAh2kEs610Nymb8EwK1YAIBACHYAAIEQ7AAAAmGNHeSSzvWQ\nXOYvARDsIJd0rofkMn8JgFuxAACBEOwAAAIh2EEu6VwPyWX+EgBr7CCXdK6H5DJ/CYBgB7mk\ncz0kl/lLANyKBQAIhGAHABAIwQ4AIBDW2EEu6VwPyWX+EgDBDnJJ53pILvOXALgVCwAQCMEO\nACAQgh3kks71kFzmLwGwxg5ySed6SC7zlwAIdpBLOtdDcpm/BMCtWACAQAh2AACBEOwAAAJh\njR3kks71kFzmLwEQ7CCXdK6H5DJ/CYBbsQAAgRDsAAACIdhBLulcD8ll/hIAa+wgl3Suh+Qy\nfwmAYAe5pHM9JJf5SwDcigUACIRgBwAQCMEOACAQ1thBLulcD8ll/hIAwQ5ySed6SC7zlwC4\nFQsAEAjBDgAgEIId5JLO9ZBc5i8BsMYOcknnekgu85cACHaQSzrXQ3KZvwTArVgAgEAIdgAA\ngRDsAAACYY0d5JLO9ZBc5i8BEOwgl3Suh+QyfwmAW7EAAIEQ7AAAAiHYQS7pXA/JZf4SAGvs\nIJd0rofkMn8JgGAHuaRzPSSX+UsA3IoFAAiEYAcAEAjBDgAgENbYQS7pXA/JZf4SAMEOcknn\nekgu85cAuBULABAIwQ4AIBCCHeSSzvWQXOYvAbDGDnJJ53pILvOXAAh2kEs610Nymb8EwK1Y\nAIBACHYAAIEQ7AAAAmGNHeSSzvWQXOYvARDsIJd0rofkMn8JgFuxAACBEOwAAAIh2EEu6VwP\nyWX+EgBr7CCXdK6H5DJ/CYBgB7mkcz0kl/lLANyKBQAIhGAHABAIwQ4AIBDW2EEu6VwPyWX+\nEgDBDnJJ53pILvOXALgVCwAQCMEOACAQCbsVO2/evMcff/z9999ftWrVqlWriouL8/Pz8/Pz\n+/fvP2LEiEMOOSTuAtnXpdvWd+jQIe5CgGozfwlAYoJdKpUaPXp0YWFh+ttmzZq1adMmlUqt\nWbNm6dKls2fPnjhx4ogRIyZPnlyvXmIOivDoXA/JZf4SgMTcii0sLCwsLOzbt+9TTz21cePG\noqKi5cuXr1ixoqioaPPmzVOnTj3++OMfeuihe+65J+5K2aeVlJRoXg8JZf4SgMQEu8cee+zg\ngw9+/fXXhw0b1qpVq7IPtWjR4owzzpgxY8bRRx89bdq0uCoEAIhXYoLd4sWLCwoKmjZtuqsN\n6tevP2jQoPfee29vVgUAUHskJtj17Nlzzpw527Zt29UGO3funDVrVu/evfdmVQAAtUdigt15\n5523bNmyAQMGTJkyZdOmTWUfKioqmjZt2uDBg+fNm3f66afHVSFEUXTggQdqXg8JZf4SgLxU\nKhV3DVlJpVL/+Z//WVhYWFpaGkVR8+bNW7dunZeXt3Hjxi1btqS3ueCCCx544IH69evn9qkf\neOCBiy66qKioqFmzZrndMwCQOMXFxQ0bNpwzZ07//v3jrqW8xHQGycvLu/fee8IeuWAAACAA\nSURBVMeMGVNYWLhgwYKVK1euXLkylUq1b9++d+/eBQUFw4cP79atW9xlAgDEJjHBLq1z586T\nJk3K4Q7XrVs3ZsyY7du3V7HNsmXLcviMAAA1JGHBLufq1avXsWPH9O3dXcnc6oXd0rkeksv8\nJQCJWWMXRdGOHTueeuqpxo0b/+QnP4miaNOmTTfffPPLL7+8bNmybt26nXrqqdddd13jxo1z\n/rzW2JG9f//3f490rodkMn/JkjV2ObBu3bqTTz757bffvvzyy3/yk59s2LDhiCOOWLFiRV5e\nXn5+/vvvv//uu+8+++yzb731Vk1kO8iStvWQXOYvAUhMu5OxY8e+/fbbl1xyyWWXXRZF0a9/\n/esVK1acfvrpa9as+eyzz7Zs2XLZZZctWrRowoQJcVcKABCPxAS7559/fuDAgb/97W/Tqx9m\nzJhRt27dxx57rG3btlEUNW7c+I477jjyyCOff/75uCsFAIhHYoLdhg0bOnbsmPm2qKioffv2\nLVu2zIzUqVOnT58+S5cujaM6AID4JSbYHXnkkS+//PKaNWvS3w4dOnTlypWrV6/ObFBSUjJ/\n/vxevXrFVCBEkc71kGTmLwFITLC77rrr1q5d+53vfOfhhx9eu3btXXfd1a9fv3PPPTcd9YqK\nikaNGrVo0aKTTjop7krZp40fP378+PFxVwHsCfOXACTmXbEnn3zyI488cumll44YMWLEiBFN\nmzZt2rTpF198ccABB+Tn569evbqkpOSUU065+uqr464UACAeibliF0XRhRdeuGrVqkceeeT7\n3//+IYcckpeXV69evW9961v77bffsGHDZs+e/fzzzzdp0iTuMgEA4pGYK3ZpTZs2vfDCCy+8\n8MK4C4HK6VwPyWX+EoCEBTuo5W644YZI53pIJvOXAAh2kEs610Nymb8EIElr7AAAqIJgBwAQ\nCMEOACAQ1thBLmlbD8ll/hIAwQ5ySdt6SC7zlwC4FQsAEAjBDgAgEIId5NLnn3+ebl4PJI75\nSwCssYNc0rkeksv8JQCCHeSSzvWQXOYvAXArFgAgEIIdAEAgBDsAgEBYYwe5pHM9JJf5SwAE\nO8glneshucxfAuBWLABAIAQ7AIBACHaQSzrXQ3KZvwTAGjvIJZ3rIbnMXwIg2EEu6VwPyWX+\nEgC3YgEAAiHYAQAEQrADAAiENXaQSzrXQ3KZvwRAsINc0rkeksv8JQBuxQIABEKwAwAIhGAH\nuaRzPSSX+UsArLGDXNK5HpLL/CUAgh3kks71kFzmLwFwKxYAIBCCHQBAIAQ7AIBAWGMHuaRz\nPSSX+UsABDvIJZ3rIbnMXwLgViwAQCAEOwCAQAh2kEs610Nymb8EwBo7yCWd6yG5zF8CINhB\nLulcD8ll/hIAt2IBAAIh2AEABEKwAwAIhDV2kEs610Nymb8EQLCDXNK5HpLL/CUAbsUCAARC\nsAMACIRgB7mkcz0kl/lLAKyxg1zSuR6Sy/wlAIId5JLO9ZBc5i8BcCsWACAQWQW74uLiMWPG\ndO7cOf3to48+uv/++x900EG/+c1vUqlUDVYHAEDWsgp2d9111913371t27Yoij799NORI0du\n2LBh48aN11xzze9///sarhAAgKxkFez+9Kc/5efnL126NIqiadOmFRcXz507d8WKFfvvv//v\nfve7Gq4QkuTAAw/UvB4SyvwlAFm9eeKTTz75wQ9+0Lx58yiK/vGPf/Tp0+eYY46JomjIkCF/\n//vfa7ZASBSd6yG5zF8CkNUVu0aNGu3YsSOKopKSktmzZxcUFKTH8/Ly8vLyarA6AACyltUV\nu+7du8+ePXvz5s0zZsz44osvBg8eHEXRtm3bZsyYkXlHBQAA8crqit1FF120du3aTp06/ehH\nP2rVqtWJJ5747rvvdunSZdWqVRdeeGFNlwgJonM9JJf5SwCyumL385///NNPP508eXLTpk0L\nCwubN2++evXqJk2a3HjjjaNGjarpEiFBdK6H5DJ/CUBWwS4vL2/s2LFjx47NjJx00knLli2r\nsaogqXSuh+QyfwlAVrdin3vuueXLl9d0KQAAfBNZBbuf//znTz75ZE2XAgDAN5FVsPvRj370\n0ksv+fQwAIDaLKtgd9999zVr1uzMM8986623tmzZUtM1QXLpXA/JZf4SgKzePNGkSZP0F9Om\nTav4qCt5kKFzPSSX+UsAsm1QXNN1AADwDWUV7D788MNKx7/66qvt27fntB4AAPZQVmvsduXG\nG2/s0aNHrkqBAOhcD8ll/hKArK7Yff3112PHjn3xxRd37NiRGSwtLf3Xv/5lnSmUpXM9JJf5\nSwCyCnZ33nnn7bffXnG8Xbt2EyZMyHVJkGA610Nymb8EIKtg9+STT7Zs2XL+/PlfffVVnz59\nVq1a1aZNm7vvvvuxxx778Y9/XNMlAuwj/vWvf82cOTPuKvZdH330URRFDz74YNyF7LsGDRrU\ntWvXuKtItqyC3SeffNK/f/9u3bpFUdSrV6933nnn5JNPvvLKK5988slbbrnl5ptvruEiAfYJ\nt91226OPTomitnEXss/aFEXR3LkT4y5jn7V2+PBhboV/Q1kFu+3bt+fn56e//va3v/3Pf/7z\n5JNPrlOnzuDBg5977jnBDiAnSktLo+hHUfT7uAuBWFzgbvg3l9W7Yg888MCFCxemvz7ssMNm\nzJiR/rqkpGTJkiU1VRokkM71AMQoq2DXo0ePhQsXTpgw4auvvurZs+fs2bNXrFixffv2l156\nKXMlj1ri+uuvzyM+N91000033RR3Ffu066+/Pu5ZCBCbrG7Fjhkz5tlnnx03bty55557wgkn\ntGrVqnv37o0aNdq0adN1111X0yVSLZ9++unQo79z5dk/j7sQiMGkJ//06aefxl0FQGyyCnYD\nBw6cMGHC/fffH0VRmzZt/vjHP/7yl7/cunXrL3/5y2uvvbaGK6Ta8vf71on9jom7CojBn1+Z\nHncJAHHKKthFUTR27NixY8emvz7llFP8nxgAoLap9keK+XBYAIDaKdtgt2TJktNPP71Zs2aN\nGzeOoqiwsPD222/ftm1bTdYGAEA1ZBXsli9fftxxx82fPz+VSqVHPvvss6uvvnrgwIGbN2+u\nyfIAAMhWVsHulltuKS4uXrBgQadOndIjEyZMuPPOOxcsWFDpZ8gCALD3ZRXspk+fPnTo0A4d\nOmRG6tatO2bMmO9+97t//etfa6w2AACqIatgt3bt2rKpLqNHjx4rVqzIdUkAAOyJrIJd586d\nv/jii4rjCxcu7NatW65LAgBgT2QV7I477riXXnpp/fr1ZQfvv//++fPnDxkypGYKAwCgerIK\ndjfffHNJSUlBQcGaNWuiKLrqqqu+973vjR49+vDDDx8/fnwNVwgAQFayCnYdO3Z84403WrZs\nuWnTpiiKJk2atGjRouuvv37OnDlNmjSp4QoBAMhKth8pdvjhh7/55pubN2/+5JNPOnbs2KZN\nm7y8vBqtDACAasnqit27776b/qJly5Z9+vTZb7/9pDoAgNomq2DXt2/fo446qrCwcMOGDTVd\nEAAAeyarYDdq1KilS5defPHF+fn5P/3pT1955ZWSkpKargwAgGrJKtgVFhauWrXqySef/N73\nvvf0008PHTr04IMPvuGGG/7nf/6npusDACBLWQW7KIoaNWp01llnvfjii8uXL7/lllsaNWp0\n0003denSZfDgwX/+85+3bdtWo1UCALBb2Qa7jI4dO44YMeLSSy9t165dFEUzZ84899xzDzjg\ngLFjx+7YsaMGKgQAICvVCHZbtmz505/+9P3vf/+AAw74j//4j1Qqdckll8yaNeuWW25p0qTJ\nrbfees0119RcoQAAVC2rPnZTp0594okn/v73v2/fvr1JkyZnn332z372syFDhtSrVy+KooED\nB/7qV7/q0KHDlClT7rrrrhouGACAymUV7M4888y6desOGTLkZz/72RlnnNGsWbNyG+y3334H\nH3xwy5Yta6BCAACyklWwu+eee84+++z0orpdWbx4cY5KAgBgT2QV7P7zP/+zpusAAOAbqva7\nYgEAqJ0EOwCAQAh2AACBEOwAAAIh2AEABEKwAwAIRFbtTkpKSm699da//e1vX375ZcVHP/zw\nw1xXBQBAtWUV7CZNmnT99dfXdCkAAHwTWd2K/f3vf9+yZcuZM2fu3LkzVUFNlwgAQDayCnbL\nly8///zzTzjhhHr1srrCBwDA3pdVsGvTpk2TJk1quhQAAL6JrILd+eef//zzzxcXF9d0NQAA\n7LGsgt348eOPOOKIM844Y/78+du2bavpmqowb9680aNHDxo06LDDDmvVqlWTJk26du363e9+\n99e//vXSpUtjLAwAIHZZrZlr0KBB+ovp06dXfHTvvH8ilUqNHj26sLAw/W2zZs3atGmTSqXW\nrFmzdOnS2bNnT5w4ccSIEZMnT7YQEADYN2WVgbp3717TdexWYWFhYWFh3759r7nmmqFDh7Zq\n1Srz0JYtW2bOnHnXXXc99NBDhx566BVXXBFjnQAAcckq2NWGFsSPPfbYwQcf/Prrrzdt2rTc\nQy1atDjjjDNOPfXUAQMGTJs2TbADAPZNiflIscWLFxcUFFRMdRn169cfNGjQe++9tzerAgCo\nPSoPdnl5eXl5eatXr46i6I477sir0t4ptGfPnnPmzKnirRs7d+6cNWtW79699049AAC1TeW3\nYtOL6urWrRtFUZs2bWrDGrvzzjvv4osvHjBgwLXXXjtkyJCya+yKiopmzJhx1113zZs3b+LE\niTEWCQAQo8qDXdlFdRdeeOGFF164t+rZpVGjRi1ZsqSwsHDYsGFRFDVv3rx169Z5eXkbN27c\nsmVLepsLLrjgsssui7VMAIDYJKYzSF5e3r333jtmzJjCwsIFCxasXLly5cqVqVSqffv2vXv3\nLigoGD58eLdu3eIuEwAgNokJdmmdO3eeNGlSDne4atWqYcOGffXVV1Vss3bt2hw+IwBADUlY\nsKvUpk2b6tSp06JFiz34ty1btjz99NNLS0ur2GbevHkrVqzY0+oAAPaSEIJd69atu3fvvmfN\n9po0aXLllVdWvc0DDzwwderUPSoNAGDvSUwfOwAAqpaYYHfaaadV0UhvyZIle7mvHgBAbVPt\nW7Hbt29v1KhRTZRStcGDB7/wwgupVKpTp05NmjQp+9CSJUvq16/fpUuXvV8VAEDtkW2wW7Jk\nyZVXXjlz5sytW7emUqnCwsKtW7defPHF5TJWzbnssst69ux57rnnNmnS5KmnnurTp0/moby8\nvC5dutSGD7QFAIhRVrdily9fftxxx82fPz+VSqVHPvvss6uvvnrgwIGbN2+uyfL+j5NOOumd\nd97Zf//9jz322AceeCBTDAAAUZbB7pZbbikuLl6wYEGnTp3SIxMmTLjzzjsXLFhw++2312R5\n5XXo0GHmzJljxoy56KKLzjrrrL0ZKwEAarmsgt306dOHDh3aoUOHzEjdunXHjBnz3e9+969/\n/WuN1Va5evXq3XrrrdOnT3/11VePOOKI+fPn7+UCAABqp6yC3dq1a8umuowePXrE1bn35JNP\nXrhwYX5+/oABA2IpAACgtsnqzROdO3f+4osvKo4vXLgwxo9n7dix46xZs26++ea33367Y8eO\ncZUBAFBLZBXsjjvuuKlTp65fv77s4P333z9//vwrrriiZgrLSr169caPHx9jAQAAtUdWt2Jv\nvvnmkpKSgoKCNWvWRFF01VVXfe973xs9evThhx8uVwEA1BJZBbuOHTu+8cYbLVu23LRpUxRF\nkyZNWrRo0fXXXz9nzpy91scOAICqZdug+PDDD3/zzTc3b978ySefdOzYsU2bNj68CwCgVqne\nR4q1bNmy7Ec+AABQe2QV7Hr06FHpeIsWLdq1a9e+ffsTTzzxxz/+cd26dXNaGwAA1ZBVsFuy\nZEnVGzz88MMnn3zy888/X6dOVov2AADIuaxyWHFx8RlnnNGvX7/p06evXbt2/fr1L7/88lFH\nHXXuueeuXr16+vTpPXr0ePHFFx988MGaLhcAgF3J6orddddd9+abb37wwQetW7dOjwwZMuSo\no47q2bPnI488cu2117Zr1+7II498+umnL7roopqsFgCAXcrqit2zzz574oknZlJdWuvWrU88\n8cS//OUvURT17du3VatWixcvrpEaAQDIQlbBbvXq1aWlpRXHv/7666VLl0ZRlJeX17hx461b\nt+a4OgAAspZVsOvbt+8rr7yydu3asoPr1q2bMWNG7969oyj65JNPVq1a1aVLlxqpEQCALGQV\n7EaOHLl27doTTzzxxRdf3LBhw4YNG1566aUhQ4asXbt25MiRS5cu/dnPfhZF0c9//vMarhYA\ngF3K6s0Tw4YNmz9//h133HHKKaeUHR85cuQ555zz5z//ee7cuaeeeurIkSNrpkgAAHYv20+e\nmDRp0o9//OM//OEPH3zwwc6dOw8//PCzzjpr8ODBURT169dv1qxZBQUFGhQDAMSoGh8pduyx\nxx577LGZb3fs2PHcc89NmTLlj3/842GHHVYDtQEAUA3V+6zYKIqKi4tfeeWVKVOmTJs2bfPm\nzVEU/fGPf6yBwgAAqJ5sg11xcfF//dd/TZkyZerUqek8F0XRgAEDzjnnnBqrDQCAathNsCsu\nLp4xY8bTTz89bdq0TZs2pQebNm06duzYn/70p507d67xAgEAyE7lwa64uHjmzJnpPLdx48Yo\niho2bHjaaaedeeaZF154YceOHa+55pq9WycAALtRebBr3759Os81b9787LPP/uEPf3jKKac0\nb948iqILL7xwrxYIAEB2Kg926VQ3dOjQ3/3udz5PAgAgESr/5ImBAwfm5eW9/PLLXbt2/e53\nv1tYWLh69eq9XBkAANVSebCbNWvWZ5999tvf/va4446bPXv2xRdf3KFDh0GDBj3wwAN7uT4A\nALK0y8+Kzc/Pv+SSS+bMmbNixYo77rijX79+r7766kUXXRRF0fLly6+88sp33313L9YJAMBu\n7DLYZXTq1Onyyy9/6623li5detttt/Xt23f79u133HFH3759e/fuffvtt++FKgEA2K3dB7uM\nLl26/PrXv164cOGSJUtuuummXr16LVq06Oqrr6654gAAyF41gl3GoYceOm7cuEWLFi1atOj6\n66/PeU0AAOyBPQl2Gb169Ro/fnyuSgEA4Jv4RsEOAIDaQ7ADAAiEYAcAEAjBDgAgEIIdAEAg\nBDsAgEAIdgAAgRDsAAACIdgBAARCsAMACIRgBwAQCMEOACAQgh0AQCAEOwCAQAh2AACBEOwA\nAAIh2AEABEKwAwAIhGAHABAIwQ4AIBCCHQBAIAQ7AIBACHYAAIEQ7AAAAiHYAQAEQrADAAiE\n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", + "text/plain": [ + "Plot with title “Boxplot of age distribution by gender”" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nhanes_query %>% group_by(sex)%>% summarise(first_quantile_age = quantile(age, probs = 0.25, na.rm = TRUE), median_age = median(age, na.rm = TRUE), third_quantile_age = quantile(age, probs = 0.75, na.rm = TRUE))\n", + "\n", + "boxplot(age~sex, data = nhanes_query, main = \"Boxplot of age distribution by gender\", xlab = \"Gender\", ylab = \"Age in years\", col = c(\"pink\", \"blue\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows similar distributions of age in males and females." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## d) Body mass index (BMI) according to gender" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "
sexfirst_quantile_bmimedian_bmithird_quantile_bmi
female19.64 24.22 29.73
male 19.30 24.17 28.60
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|llll}\n", + " sex & first\\_quantile\\_bmi & median\\_bmi & third\\_quantile\\_bmi\\\\\n", + "\\hline\n", + "\t female & 19.64 & 24.22 & 29.73 \\\\\n", + "\t male & 19.30 & 24.17 & 28.60 \\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "sex | first_quantile_bmi | median_bmi | third_quantile_bmi | \n", + "|---|---|\n", + "| female | 19.64 | 24.22 | 29.73 | \n", + "| male | 19.30 | 24.17 | 28.60 | \n", + "\n", + "\n" + ], + "text/plain": [ + " sex first_quantile_bmi median_bmi third_quantile_bmi\n", + "1 female 19.64 24.22 29.73 \n", + "2 male 19.30 24.17 28.60 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nSURBVIBKEOwAAABUgmAHAACgEgQ7AAAAlSDYAQAAqATBDgAAQCUIdgAAACpBsAMAAFAJgh0A\nAIBKEOwAAABUgmAHAACgEgQ7AAAAlSDYAQAAqATBDgAAQCUIdgAAACpBsAMAAFAJgh0AAIBK\nEOwAAABUgmAHAACgEgQ7AAAAlSDYAQAAqATBDgAAQCUIdgAAACpBsAMAAFAJgh0AAIBKEOwA\nAABUgmAHAACgEgQ7AAAAlSDYAQAAqATBDgAAQCUIdgAAACpBsAMAAFAJc8EuPT197NixTZs2\n9fb27t+//7Fjx0w69OrVS6PRVGV5AAAAsJS2tAXp6elt27a9efOmq6urs7Pz9u3b9+7dGxsb\n26dPn+qsz8Thw4dXr1599uzZlJSUlJQUvV4fHBwcHBwcERExbty4Zs2aWbE2AAAA6yp1j93M\nmTNv3rz57rvvZmVlpaWlxcbGOjg4jBw58tatW9VZn0KSpNdee61r165LlizZu3fvjRs3vLy8\n/P39b9++HRcXt2DBgpCQkJdffrmwsNAq5QEAAFhdqcFu586dHTp0mDt3rpOTk5OT0+DBgzds\n2JCenv7ee+9VZ32KmJiYmJiYdu3arV+/PiMjQ6fTJSUlXb9+XafTZWZmbtmypXv37itWrPj8\n88+tUh4AAIDVlRrsrl271r59e+NT6AYMGDBixIjvv//+3Llz1VLb//jhhx+aNGly4MCBYcOG\neXt7Gy+qXbv2k08+uXv37k6dOsXGxlZ/bQAAALag1GDn4+OTkJBg0jh//nw3N7cxY8YUFBRU\ncWGmzp8/HxUV5e7uXloHJyenHj16FK8ZAACghig12PXu3fvQoUMxMTHGjQ0bNlywYMGhQ4em\nTp1aVFRU9eX9/8LCwuLj4+/fv19ah4KCgn379rVp06Y6qwIAALAdpQa7WbNmeXt7v/baa/Xr\n1x8zZozSPmHChGeffTY6OrpFixYXLlyoliKFEGL06NGJiYmRkZEbN268d++e8SKdThcbG9uz\nZ8/Dhw8PGjSo2koCAACwKaVOd9KsWbPDhw/PnDnz3//+9+7du5V2BweH1atXt2rV6vPPP797\n9261FCmEEK+++urFixdjYmKGDRsmhPD09PTx8dFoNBkZGVlZWXKfF198cdKkSdVWEgAAgE3R\nSJJkvockSTqdrnbt2ibtubm5J0+eTExMfO6556qsPFPXrl2LiYk5duxYcnJycnKyJElBQUFB\n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\nHQoKCvbt28dFTKhmfn5+Go0mLCxs1apVDRo0kG8ZnpOTs2rVqrCwsLNnzzKJHWCzLl26JITI\nyspat27dxIkThwwZIoTYvHlzdHS0fHbspUuX2rZta+UqgfIoeQ/z6dOnL126NH/+fK1WO2PG\njFatWoWHh3/wwQf/+c9/rDUTyujRoxMTEyMjIzdu3Hjv3j3jRTqdLjY2tmfPnocPHx40aJBV\nykONlZmZKUlSWlpaYWFhTk6OTqfT6XQ5OTmFhYVpaWmSJGVmZlq7RgAlq1u3rhDC399/5MiR\nS5cu7datW7du3ZYuXTpy5Ej5TzImKIbdKfkcO2PXr1/fvHnz5s2bDxw4IElSs2bN5H14nTp1\nqs57JUmS9MYbb8TExBgMBiGEp6enj4+PRqPJyMjIysqS+7z44ovLli174Dds5hw7mJGWlhYQ\nECCEiIqK+vbbb0NDQ4UQly9ffvHFF+Pj4+UO7LQDbFNRUZGTk1Pjxo0TExMNBoNyjp2Dg0OT\nJk2SkpIKCws5xw7F2fI5dmV/Xhs2bPjmm2/K90L+6quvmjZt+umnn3bp0kVuj4uLq4YqhRAa\njSY6Ovrq1atTp0599NFH69ate/fuXfk7NTIy8q233rp06dK33377wFMdYJ6fn59Wq/3HP/6R\nl5fXvHlzLy8vLy+v5s2b5+fnd+/e3cnJydfX19o1AiiZvFv9r7/+mj59uoODQ0hISEhIiIOD\nw/Tp069duybvjLd2jUD5lL3Hrri7d+/+/PPP69ev/+2334Sd36bir7/+euihh5S5ZM3Iysry\n9PSshpJgX+SrYgMCArp27bpt2zZ5j7KDg8OAAQMOHTqUmprKJwewWXfv3vXz84uMjIyPj/fw\n8AgJCRFCXLlyJTs7W268e/euj4+PtcuEzbHlPXblnhNfr9cfPXr0wIEDR44cEf+ddt9+NWjQ\nYOvWrfKXcWl++eWXL774ojqPO8OOyJfRZWRk/PLLLw4ODg0bNhRC3Lx585dffnF0dJQ7EOwA\n2+Tr69ukSZNnnnlmypQpixYtunbtmhCiTZs206ZNS0pKunnzJqkOdsfSYKfX63ft2rVp06bY\n2NiMjAxnZ+c+ffo8/fTTAwcOrNL6jOXn569fv97Nze2ZZ54RQty7d2/OnDm///57YmJiaGjo\ngAEDZsyYUd7r0rVabY8ePcz3uXr1asWLhtoFBAQ4OjoWFRW1adMmJSXl77//FkL4+/vXrVs3\n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\n7V+fOXNGCGG1Wq1W661v1dzcHBwcbP/6xz/+sWN7QMB/f3KeOHFCCJGRkdH+Fz744IOOrzu+\nCx5oDMB93DwBQCn33XefEGLDhg23ffXixYuOVieEiIuLE0IsWLDAdjuOyiWECA0Nve0bBgYG\n3rrRz++/P1o7vouwsLBO/U4B4FYUOwBK+eUvfxkSEvLGG2/U1NTc+urq1avbfxsREREREfH5\n55+339ja2rp48WKz2dyR3dnvfvjss8/abzx48KCOuwCAjqPYAVBKv379Fi1adPXq1aysrH37\n9jm2NzY25uXlvf322926dXNs1DRt9uzZe/bsad+x3n333bfeequD0ymeffZZIcRvfvOb6upq\n+5bvvvtu8eLFOu4CADqOx50AUE1LS0tubu66deuEEP37909LS6uvr//qq68aGxvff//9Tz75\nZOPGjY4ffXV1daNGjTp27NiIESOGDh1aXl5eUlKSnp7+r3/9y3761f4skh/8qGw/WGLq1KmF\nhYUmk2n06NH2x51kZWVt2rTJsaBruwCALuCIHQDVBAYGFhYWbtu27fHHH29qatqxY0dlZeVT\nTz119OjRn//85z+4O7VXr16lpaXz5s1rbm4uKiqyWCyLFi3atWvXnS6qu9UHH3ywdu3ae++9\nd9euXUeOHJkyZYr9VlkddwEAHcQROwAAAEVwxA4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUO\nAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEAR\nFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAA\nAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARfx/\nBYUhAmiWczcAAAAASUVORK5CYII=", + "text/plain": [ + "Plot with title “Boxplot of BMI distibution by gender”" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nhanes_query %>% group_by(sex)%>% summarise(first_quantile_bmi = quantile(body_mass_index, probs = 0.25, na.rm = TRUE), median_bmi = median(body_mass_index, na.rm = TRUE), third_quantile_bmi = quantile(body_mass_index, probs = 0.75, na.rm = TRUE))\n", + "\n", + "boxplot(body_mass_index~sex, data = nhanes_query, main = \"Boxplot of BMI distibution by gender\", xlab = \"Gender\", ylab = \"BMI in kg/m^2\", col = c(\"pink\", \"blue\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "BMI distribution of females is slightly more widespread than males distribution." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5) Statistical analysis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are here exploring if there is a relationship between having a sugarfree diet and the waist circumference. In this study, measurements are performed for individuals over 2 years old." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For better clarity, let's subset a new dataset comprising only those individuals." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "nhanes_over_two <- nhanes_query %>% filter(age >=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\t
  1. 38124
  2. \n", + "\t
  3. 6
  4. \n", + "
\n" + ], + "text/latex": [ + "\\begin{enumerate*}\n", + "\\item 38124\n", + "\\item 6\n", + "\\end{enumerate*}\n" + ], + "text/markdown": [ + "1. 38124\n", + "2. 6\n", + "\n", + "\n" + ], + "text/plain": [ + "[1] 38124 6" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#quick check of the number of observations and variables\n", + "dim(nhanes_over_two)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have now generated our new dataset with 38 124 individuals (over 2 years old) and the same 6 variables from the previous dataset.\n", + "You can see below a basic statistics summary :" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Description of nhanes_over_two[, -1] \n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + " Numeric \n", + " mean sd median min max valid.n\n", + "age 31.79 24.28 23.0 2.00 85.00 38124\n", + "waist_circumference 85.05 21.01 85.3 32.00 175.00 34408\n", + "body_mass_index 24.94 7.19 24.2 7.99 130.21 35108\n", + "\n", + " Factor \n", + " \n", + "sex female male\n", + " Count 19636.00 18488.00\n", + " Percent 51.51 48.49\n", + "Mode female \n", + " \n", + "sugarfree_diet No Yes\n", + " Count 20183.00 17831.00 110.00\n", + " Percent 52.94 46.77 0.29\n", + "Mode NA " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "describe(nhanes_over_two[, -1], num.desc = c(\"mean\", \"sd\", \"median\", \"min\", \"max\", \"valid.n\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that there are missing values in every variables except from `age` and `sex`.\n", + "\n", + "**Missing values in `sugarfree_diet` and `waist_circumference` respectively represent more than 50% and around 10% of the observations.**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## a) What are the means of waist circumference in both groups ?" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
sugarfree_dietcountmean
No 17831 85.42428
Yes 110 100.86698
NA 20183 84.57783
\n" + ], + "text/latex": [ + "\\begin{tabular}{r|lll}\n", + " sugarfree\\_diet & count & mean\\\\\n", + "\\hline\n", + "\t No & 17831 & 85.42428\\\\\n", + "\t Yes & 110 & 100.86698\\\\\n", + "\t NA & 20183 & 84.57783\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "sugarfree_diet | count | mean | \n", + "|---|---|---|\n", + "| No | 17831 | 85.42428 | \n", + "| Yes | 110 | 100.86698 | \n", + "| NA | 20183 | 84.57783 | \n", + "\n", + "\n" + ], + "text/plain": [ + " sugarfree_diet count mean \n", + "1 No 17831 85.42428\n", + "2 Yes 110 100.86698\n", + "3 NA 20183 84.57783" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nhanes_over_two %>% group_by(sugarfree_diet)%>% summarise(count = n(), mean = mean(waist_circumference, na.rm = TRUE))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is important to take into consideration that **3716** observations with missing values in `waist_circumference` were exluded (`na.rm = TRUE`) in order to compute means (_run the code below to get this number_)." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "3716" + ], + "text/latex": [ + "3716" + ], + "text/markdown": [ + "3716" + ], + "text/plain": [ + "[1] 3716" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nhanes_over_two %>% filter(is.na(nhanes_over_two$waist_circumference))%>% nrow()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## b) Test the hypothesis ( wilcoxon test )" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "\tWilcoxon rank sum test with continuity correction\n", + "\n", + "data: waist_circumference by sugarfree_diet\n", + "W = 532500, p-value = 4.247e-13\n", + "alternative hypothesis: true location shift is not equal to 0\n", + "95 percent confidence interval:\n", + " -19.60005 -11.40002\n", + "sample estimates:\n", + "difference in location \n", + " -15.50001 \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "wilcox.test(waist_circumference~sugarfree_diet, conf.int=TRUE, data = nhanes_over_two)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows a statistically significant association between having a sugarfree diet and the waist circumference ( IC95 = [11,4; 19.6]; p< 0.001) in our sample of individuals over 2 years old with no imputation for missing values. People under a sugarfee diet tend to have a higher waist circumference in this sample.\n", + "We can not draw any causality statement from this analysis since the design of the study (observational study) does not allow it. Plus it is important to stress the weakness of the results due to the high number of missing values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**This notebook is only intended as an illustration of a basic statistical analysis in our attempt to create a reproducible and F.A.I.R (findable, accessible, interoperable and reusable) statistical analysis.**" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "3.3.1" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}