{ "cells": [ { "cell_type": "markdown", "id": "aba17df9", "metadata": {}, "source": [ "# StatWrap\n", "\n", "StatWrap is a Python package I've written for this course. Find the [documentation here](https://statwrap.readthedocs.io/en/latest/index.html).\n", "\n", "I simplify other packages and use function names that match the conventions of {cite}`freedman2007statistics` or Google Sheets to make it easier to switch from the book to coding. Other packages use defaults that might clash with the book (e.g. SD vs SD+). Using StatWrap prevents accidentally wading into those complications. \n", "\n", "If you pursue more advanced study of statistics or related fields, you will never use StatWrap again, but it's a good place to start if you already find coding to be overwhelming enough. \n", "\n", "## Using StatWrap\n", "\n", "StatWrap is not installed in Google Colab by default. To install and use statwrap, run `!pip install statwrap`. This will produce a lot of output you can ignore. Then you can import the package like in the code below. \n", "\n", "\n", "
\n", " \n", "
\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "id": "d971d474", "metadata": { "tags": [ "remove-output" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: statwrap in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (0.2.10)\n", "Requirement already satisfied: pandas in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from statwrap) (2.0.3)\n", "Requirement already satisfied: numpy in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from statwrap) (1.24.3)\n", "Requirement already satisfied: scipy in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from statwrap) (1.11.1)\n", "Requirement already satisfied: IPython in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from statwrap) (8.15.0)\n", "Requirement already satisfied: matplotlib in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from statwrap) (3.7.2)\n", "Requirement already satisfied: backcall in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.2.0)\n", "Requirement already satisfied: decorator in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (5.1.1)\n", "Requirement already satisfied: jedi>=0.16 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.18.1)\n", "Requirement already satisfied: matplotlib-inline in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.1.6)\n", "Requirement already satisfied: pickleshare in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.7.5)\n", "Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (3.0.36)\n", "Requirement already satisfied: pygments>=2.4.0 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (2.15.1)\n", "Requirement already satisfied: stack-data in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.2.0)\n", "Requirement already satisfied: traitlets>=5 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (5.7.1)\n", "Requirement already satisfied: pexpect>4.3 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (4.8.0)\n", "Requirement already satisfied: appnope in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from IPython->statwrap) (0.1.2)\n", "Requirement already satisfied: contourpy>=1.0.1 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (1.0.5)\n", "Requirement already satisfied: cycler>=0.10 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (0.11.0)\n", "Requirement already satisfied: fonttools>=4.22.0 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (4.25.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (1.4.4)\n", "Requirement already satisfied: packaging>=20.0 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (23.1)\n", "Requirement already satisfied: pillow>=6.2.0 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (10.0.1)\n", "Requirement already satisfied: pyparsing<3.1,>=2.3.1 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (3.0.9)\n", "Requirement already satisfied: python-dateutil>=2.7 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from matplotlib->statwrap) (2.8.2)\n", "Requirement already satisfied: pytz>=2020.1 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from pandas->statwrap) (2023.3.post1)\n", "Requirement already satisfied: tzdata>=2022.1 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from pandas->statwrap) (2023.3)\n", "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from jedi>=0.16->IPython->statwrap) (0.8.3)\n", "Requirement already satisfied: ptyprocess>=0.5 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from pexpect>4.3->IPython->statwrap) (0.7.0)\n", "Requirement already satisfied: wcwidth in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->IPython->statwrap) (0.2.5)\n", "Requirement already satisfied: six>=1.5 in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->statwrap) (1.16.0)\n", "Requirement already satisfied: executing in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from stack-data->IPython->statwrap) (0.8.3)\n", "Requirement already satisfied: asttokens in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from stack-data->IPython->statwrap) (2.0.5)\n", "Requirement already satisfied: pure-eval in /Users/alexanderclark/anaconda3/lib/python3.11/site-packages (from stack-data->IPython->statwrap) (0.2.2)\n" ] } ], "source": [ "!pip install statwrap\n", "import statwrap\n", "%use_fpp\n", "%use_sheets" ] }, { "cell_type": "markdown", "id": "ef4d75c1", "metadata": {}, "source": [ "Here's what the lines above do.\n", "\n", "1. This installs statwrap. This isn't permanent on Google Colab, so you'll have to run this for every new session.\n", "2. This imports statwrap.\n", "3. This loads the FPP module, which includes functions likes [`sd`](https://statwrap.readthedocs.io/en/latest/fpp.html#statwrap.fpp.sd) to calculate the standard deviation of a list of numbers using the syntax `sd(1,2,3)`. You *don't* have to write `statwrap.fpp.sd(1,2,3)` if you run this line. \n", "4. Like the third line, this loads the Google Sheets module. This module includes functions like [`stdevp`](https://statwrap.readthedocs.io/en/latest/sheets.html#statwrap.sheets.stdevp) to match the `STDEVP` function in Google Sheets and Excel. " ] }, { "cell_type": "code", "execution_count": 2, "id": "2d8919c6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.816496580927726" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sd(1, 2, 3)" ] }, { "cell_type": "code", "execution_count": 3, "id": "7f07bbfc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.816496580927726" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stdevp(1, 2, 3)" ] }, { "cell_type": "markdown", "id": "364db92f", "metadata": {}, "source": [ "# Example Catalog\n", "\n", "Below are some minimal working examples that use StatWrap.\n", "\n", "1. [Histograms](https://colab.research.google.com/drive/1ws2kTH_9KX-dE9ZBUPObTpEYQmjUukOy?usp=sharing)" ] } ], "metadata": { "celltoolbar": "Edit Metadata", "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.11.5" } }, "nbformat": 4, "nbformat_minor": 5 }