{ "cells": [ { "cell_type": "markdown", "id": "033ea9f2", "metadata": {}, "source": [ "# Chapter 2: Working with data" ] }, { "cell_type": "code", "execution_count": 1, "id": "aa644108-a978-474c-8434-bba657f79dbf", "metadata": { "tags": [] }, "outputs": [], "source": [ "import rpy2.robjects as robjects\n", "\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "%load_ext rpy2.ipython" ] }, { "cell_type": "markdown", "id": "a9ae89c7-c51a-4958-925f-05d8cde41903", "metadata": {}, "source": [ "## Table 2.1" ] }, { "cell_type": "code", "execution_count": 2, "id": "a47cf55f-4664-4d14-8ce7-5144604e158b", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
whynResponses
0It fulfills a degree plan requirement105
1It fulfills a General Education Breadth Requir...32
2It is not required but I am interested in the ...11
3Other4
\n", "
" ], "text/plain": [ " why nResponses\n", "0 It fulfills a degree plan requirement 105\n", "1 It fulfills a General Education Breadth Requir... 32\n", "2 It is not required but I am interested in the ... 11\n", "3 Other 4" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classData = pd.DataFrame({'why': [\"It fulfills a degree plan requirement\",\n", " \"It fulfills a General Education Breadth Requirement\",\n", " \"It is not required but I am interested in the topic\",\n", " \"Other\"],\n", " 'nResponses': [105,32,11,4]})\n", "classData" ] }, { "cell_type": "markdown", "id": "96f3390a-9cbe-4c93-a569-f7ee23bf36ea", "metadata": {}, "source": [ "## Figure 2.1" ] }, { "cell_type": "code", "execution_count": 4, "id": "97816cf5", "metadata": { "Rmd_chunk_options": "ReliabilityValidity, echo=FALSE,fig.cap=\"A figure demonstrating the distinction between reliability and validity, using shots at a bullseye. Reliability refers to the consistency of location of shots, and validity refers to the accuracy of the shots with respect to the center of the bullseye. \",fig.width=6,fig.height=6,out.height='33%'", "jupyter": { "output_hidden": false }, "kernel": "R", "tags": [ "report_output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──\n", "✔ ggplot2 3.4.1 ✔ purrr 1.0.1\n", "✔ tibble 3.1.8 ✔ dplyr 1.1.0\n", "✔ tidyr 1.3.0 ✔ stringr 1.5.0\n", "✔ readr 2.1.4 ✔ forcats 1.0.0\n", "── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n", "✖ dplyr::filter() masks stats::filter()\n", "✖ dplyr::lag() masks stats::lag()\n" ] }, { "data": { "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%R\n", "\n", "library(tidyverse)\n", "library(cowplot)\n", "\n", "# Figure inspired by https://commons.wikimedia.org/wiki/File:Reliability_and_validity.svg\n", "\n", "# from https://stackoverflow.com/questions/6862742/draw-a-circle-with-ggplot2\n", "\n", "set.seed(12345)\n", "gg_circle <- function(r, xc, yc, color=\"black\", fill=NA, ...) {\n", " x <- xc + r*cos(seq(0, pi, length.out=100))\n", " ymax <- yc + r*sin(seq(0, pi, length.out=100))\n", " ymin <- yc + r*sin(seq(0, -pi, length.out=100))\n", " annotate(\"ribbon\", x=x, ymin=ymin, ymax=ymax, color=color, fill=fill, ...)\n", "}\n", "\n", "\n", "npoints <- 16\n", "rel_mult <- 0.75\n", "unrel_mult <- 2.5\n", "\n", "plotDf <- tibble(\n", " X_RelVal = rnorm(npoints)*rel_mult,\n", " Y_RelVal = rnorm(npoints)*rel_mult,\n", " X_RelInval = rnorm(npoints)*rel_mult+2,\n", " Y_RelInval = rnorm(npoints)*rel_mult+2,\n", " X_UnrelInval = rnorm(npoints)*unrel_mult+2,\n", " Y_UnrelInval = rnorm(npoints)*unrel_mult+2,\n", " X_UnrelVal = rnorm(npoints)*unrel_mult,\n", " Y_UnrelVal = rnorm(npoints)*unrel_mult\n", ")\n", "\n", "pointsize <- 3\n", "linesize=2\n", "p1=ggplot(plotDf,aes(X_RelVal,Y_RelVal)) +\n", " gg_circle(r=4, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=3, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=2, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=1, xc=0.0, yc=0.0,size=linesize,color='red',fill='red') +\n", " geom_point(size=pointsize) +\n", " xlim(-10,10) + ylim(-10,10) +\n", " theme_void()\n", "\n", "p2=ggplot(plotDf,aes(X_UnrelVal,Y_UnrelVal)) +\n", " gg_circle(r=4, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=3, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=2, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=1, xc=0.0, yc=0.0,size=linesize,color='red',fill='red') +\n", " geom_point(size=pointsize) +\n", " xlim(-10,10) + ylim(-10,10) +\n", " theme_void()\n", "\n", "p3=ggplot(plotDf,aes(X_RelInval,Y_RelInval)) +\n", " gg_circle(r=4, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=3, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=2, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=1, xc=0.0, yc=0.0,size=linesize,color='red',fill='red') +\n", " geom_point(size=pointsize) +\n", " xlim(-10,10) + ylim(-10,10) +\n", " theme_void()\n", "\n", "p4=ggplot(plotDf,aes(X_UnrelInval,Y_UnrelInval)) +\n", " gg_circle(r=4, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=3, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=2, xc=0.0, yc=0.0,size=linesize,color='red') +\n", " gg_circle(r=1, xc=0.0, yc=0.0,size=linesize,color='red',fill='red') +\n", " geom_point(size=pointsize) +\n", " xlim(-10,10) + ylim(-10,10) +\n", " theme_void()\n", "\n", "plot_grid(p1,p2,p3,p4,ncol=2,label_size=12,\n", " labels=c('A: Reliable and valid',\n", " 'B: Unreliable but valid',\n", " 'C: Reliable but invalid',\n", " 'D: Unreliable and invalid'))" ] }, { "cell_type": "markdown", "id": "34ceb567-eafc-412b-bb89-e478ecbd4947", "metadata": {}, "source": [ "## Table 2.2" ] }, { "cell_type": "code", "execution_count": 17, "id": "0aae2355-a093-4de5-a1c3-192057f8d48a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Equal/not equal>/<+/-Multiply/divide
NominalOK
OrdinalOKOK
IntervalOKOKOK
RatioOKOKOKOK
\n", "
" ], "text/plain": [ " Equal/not equal >/< +/- Multiply/divide\n", "Nominal OK \n", "Ordinal OK OK \n", "Interval OK OK OK \n", "Ratio OK OK OK OK" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "measTypes = pd.DataFrame({\"Equal/not equal\": ['OK','OK','OK','OK'],\n", " \">/<\": ['','OK','OK','OK'],\n", " \"+/-\": ['','','OK','OK'],\n", " \"Multiply/divide\": ['','','','OK']},\n", " index=['Nominal','Ordinal','Interval','Ratio'])\n", "measTypes" ] } ], "metadata": { "Rmd_chunk_options": { "output": { "bookdown::gitbook": { "includes": { "in_header": "google_analytics.html" }, "lib_dir": "book_assets" }, "html_document": "default", "pdf_document": "default" } }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.15" } }, "nbformat": 4, "nbformat_minor": 5 }