{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Estimation and Hypothesis Testing" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "── Attaching packages ─────────────────────────────────────── tidyverse 1.2.1 ──\n", "✔ ggplot2 2.2.1 ✔ purrr 0.2.5\n", "✔ tibble 1.4.2 ✔ dplyr 0.7.5\n", "✔ tidyr 0.8.1 ✔ stringr 1.3.1\n", "✔ readr 1.1.1 ✔ forcats 0.3.0\n", "── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n", "✖ dplyr::filter() masks stats::filter()\n", "✖ dplyr::lag() masks stats::lag()\n" ] } ], "source": [ "library(tidyverse)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "options(repr.plot.width=4, repr.plot.height=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set random number seed for reproucibility" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "set.seed(42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Functions around probability distributions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Radnom numbers" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 1.37095844714667
  2. \n", "\t
  3. -0.564698171396089
  4. \n", "\t
  5. 0.363128411337339
  6. \n", "\t
  7. 0.63286260496104
  8. \n", "\t
  9. 0.404268323140999
  10. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1.37095844714667\n", "\\item -0.564698171396089\n", "\\item 0.363128411337339\n", "\\item 0.63286260496104\n", "\\item 0.404268323140999\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1.37095844714667\n", "2. -0.564698171396089\n", "3. 0.363128411337339\n", "4. 0.63286260496104\n", "5. 0.404268323140999\n", "\n", "\n" ], "text/plain": [ "[1] 1.3709584 -0.5646982 0.3631284 0.6328626 0.4042683" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rnorm(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "PDF" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC4lBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8hISEiIiIjIyMkJCQlJSUmJiYnJycoKCgp\nKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7\nOzs8PDw9PT0+Pj4/Pz9AQEBCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1O\nTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19g\nYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxubm5vb29wcHBxcXFycnJz\nc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISF\nhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCSkpKUlJSVlZWWlpaYmJiZmZmc\nnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWnp6eoqKipqamqqqqrq6usrKytra2urq6v\nr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDC\nwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU\n1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm\n5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4\n+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///9B2ioAAAAACXBIWXMAABJ0AAASdAHeZh94AAASe0lE\nQVR4nO2de0BUVRrADw4zjIAoICiEIG4qiuGmiaixKr6wxMoHJqbrbmpqtb5ahVWJLLNSF7fy\nlfSw3LKU8k3lFouaPXQRM01TyQdKiYDAzP87DMjM8Lhzz73nnHv55vv9MTPCPY97fnLn3nPu\n/T5iRUBDtO4AwhcUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwU\nDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwU\nDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwU\nDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwU\nDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwUDBwU\nDBz1gt/8kkE3EF6oF0zmMOgGwgvFgnfdhYyxvbDsEsISxYKJCyy7hLBEsZqtfmT66lpIvO2F\nZZcQlij/2yu8z3ejvQb8DtYzKg6u5U+R1FIUrHNUfXt+0D46HwXrG3WnR2fjja+4FXz8CMKI\n4/SKVJ7/3lns5U5wAUGYUUBtSPUFzoFX90lvcJhUqm0DqaOSHKYuw/8KFgUzAwUDRyvBN/r2\nbfSTstdWN/BkaxBcWlJSqnUf3KOV4GtNpiovDenXQBT5nUEb/CjJmZkQVHsCE5QwM6dE695I\nopXgO/v3S/z2dT0LvpMzzDtwYtb2/CNH8rdnTQz0HpZzR+s+tYw+v4N1LPjW2kj/eQeqHD+o\nOjDPP3LtLe16JI14wZZrl2rcbaNfwdsjOr/Y5Jhc8mLniO1a9EYGggXnTb3HSIghYnKe5GZ6\nFVyU5LOsrLlflC3zSSoS3RtZCBVcPpqQ8Pjk5IFdCHmoQmJDnQre6j/iVEu/OzXCf6vIvshF\nqODlZPQ3dZ9OTCFZEhvqUvDtp71XSHy5WNabpumw10IFD+zZcHJiSRwksaEeBZ/vE50vvUV+\ndJ/zYvpCgVDBAdMdn5cFSGyoQ8FHw4e6veAtGRp+VERfaBAqOCGmuuHzsASJDfUneLd/mozJ\ntco0/938+0KFUMErydjv6z4VTSOZEhvqTvCHpgyLnO0sGaYPefeFDrFn0cmERA4Zl5IYTciY\n1nQW/YFR6pTQhVe83+bZE2oEXwcfmhJmsF0Hh006ILmZzgRvN66Rv/Eao67mPMTPZNUUX25l\nM1mfGl+l2fxV46e8eqIAnIt2S75/Bl2BdF8dPXqFgt1RFPokbZH5wSd59EQRKNgNxVHjq91v\n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\n795pZykb+lcHio0rnh8UMCiTNrotVRNWRTuiYLgaIVjwGT/Dw3MeIL3K3W96l7JoMnDOSK+2\nR6gaKutFM/pjSc8nupMxVC1QNqFoRxQMV2MEC55Idtte55Js+UWWkyW2111taG5n2vNyT0Ix\n+ofI2Gpr1Sji5jlYNU1YFe2IguFqjGDBYTG1r8fJn+UXSfCxx1pKIr/KL2MmhGb0p5DahzSO\nkTT5RWibsCraEQXD1RixgqszttS+FZDZ8svEjbK/JRP5UVmtFRUVNMfP8C51b/fIL0LbhFXJ\njigZrsaIP4uuKfl8kPFr2lLFPqF0MfBj5Y9+jWGI/T3eSBfkiaIJB7Q7omy4HIgXPIcQ+qTn\nhdHkTboSFKNfTMbZ35PJNV5NNEC9I4qGywlBgsvW26h7qiF31UtxnWQEE3EqUrq0rWkdXSs0\no3+ZpNjfk8kl2WUom6hH7o44IXe4WkKQ4OLaEDET7v6rNETGmaSjyM5wkiwrZLZzK1SH6ET7\n+0AD3W351IJl74grsoarJcQeor+df9D+nkQowgenk2ia65d6aEY/LNr+FhnBr4laqHdE0XA1\nQqzgQlL3CFAPiqHZQsYrybBDM/qTyGnb60kymV8TViU7omS4GiNWsCXS96TtbROZJL9Ij3aK\nZupoRv8AecL2+jjVRAdlE4p2RMFwNUHwWfQuL/NjcxNJmPznts6S4PqwtVepWqIZfctoMjx9\nKBlL1QCtYCU7Qj9cTRB9mfSf0RF+cQso/isfaAjjR5c+m2r0y1cMDBhIvdhAJ1jRjlAPVxNw\nuRA4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4\nKBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4KBg4\nKBg4KNhq/cE01PZ6JzbostY94QAKtrGSbLZaV5EcrfvBAxRsozI2+OqP5oe17gYXUHAtX7dJ\nSwqkiyXcWkDBdv5GyFta94EPKNjOaeKnJKRtKwAF2xnnQ+Zq3Qc+oOBacsj6SV6Hte4FF1Cw\njeLg/tWXAnpVat0PHqBgG48ajlmt2SRT637wAAVbre+ShbbXmgE+J7XuCQdQMHBQMHBQMHBQ\nMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQ\nMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHBQMHD+D63VjBPZ0j4sAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x <- seq(-3, 3, length.out = 100)\n", "plot(x, dnorm(x), type=\"l\", ylab=\"PDF\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "CDF " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC31BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw+Pj5AQEBBQUFCQkJDQ0NERERGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5P\nT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBh\nYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxubm5vb29wcHBxcXFycnJzc3N0\ndHR1dXV2dnZ3d3d5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaH\nh4eIiIiJiYmLi4uMjIyOjo6Pj4+QkJCSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5uc\nnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSmpqanp6eoqKipqamqqqqrq6usrKytra2vr6+w\nsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHC\nwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHT09PU1NTV\n1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn\n5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5\n+fn6+vr7+/v8/Pz9/f3+/v7///9qM7vcAAAACXBIWXMAABJ0AAASdAHeZh94AAAQs0lEQVR4\nnO2d+2MNZxrH3+ScyFWalNJEUCeKuKtukyLdbUqCskvc4lZdWWuju6l1KVr3LN2UqrQEpbW6\n3V2srYhqt5RKUpelKLV0S6hGtIKEnPMH7Dkn5JzcJvPOzJl35sn388PMcfK+8z7zfmQyM++N\n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\nYOL8H8KfNlnf42rTAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x <- seq(-3, 3, length.out = 100)\n", "plot(x, pnorm(x), type=\"l\", ylab=\"CDF\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Quantiles (inverse CDF)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC8VBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyOjo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWW\nlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWoqKipqamq\nqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8\nvLy9vb2+vr6/v7/AwMDBwcHDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7P\nz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh\n4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz\n8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+T1lhFAAAACXBIWXMAABJ0\nAAASdAHeZh94AAAStUlEQVR4nO2da0AUV5aAD82jGxAkYghEiAkgoKL4FnwwRFEUEFl1jZpo\nfESDsz52dGMmGmM0ZhyjojObjVmSMZFx1OxoVmdGJm40ohl1jNFRMT5ITKIkOiIaI8qjfm13\n0QH6SVXdW9Vdp8/3o6u4XafusT67Hreq7gWBQA14OgFCXUgwckgwckgwckgwckgwckgwckgw\nckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgw\nckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgw\nckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgw\nckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgw\nckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwckgwcjQQfPI4\nwYmT8re++oKPAcGNY7I3v/qCy+G+6nX4CPehXHYMCdYRJBg5JBgdD2z+IsHYeK+PzZ8kGBv9\nF9n8SYKR8RmcsfmbBCNj9jDbv7UWXFVR1zRz/Rs3S5FgpdwO+4NtgbaCj6UCPPKOOJvtbi0k\nWCm/fcRuy2kq+HKwITvXCMWWeRKsCr2W2hVoKvhpv73mnXR8kOU0gASrwSFDpV2JpoITciyf\nFaY8gQSrQv3ACfZFmgoOmStOfgkHnAi+GND6FshdpXX4NBvCv7Yv0lRwt3RxUhMTX+PkF9zq\nHvBSuKO0Dl/mq3b/5VCmqeCF8KL4y9wFhdVud9FvkWAljElvcCjTVHD1E2AUD8MvQVgkCebN\nu8ZzjoXaXgf/sDwjTZz5XRKQYM4cMhU7KfVUU2Vj5UduviXB8rkcNctZsXe2RZNg2dSkjqxz\nVk6CcVCdkXrL6RckGAXX+3S76vwbEoyBq937XHfxFQlGwInOGdWuviPB+md76CTXLbskWO88\nWBKw1s3XJFjnnO8f9Rd335NgXdO4ud2oKrdLkGA980VWyMZG94uQYP1Suzo4+1JbC5Fg3bI7\nMWpLGz9fgQTrlhMjAhc5b5y0hYPge6ePyF5FG5DgNrg42VDg5OavE5gFfzUxCEB4c8JXslfj\nBhLslkszA4dK1cYq+NpjMGQECDsCYty9qSAXEuyGs9MDMv4seWlWwfOgRCg1F3xqLJK9HteQ\nYJccLjRk7pOxPKvgzpmCKFiY0EX2elxDgp1Tty3dMPawrBBWwaHPWwXPD5W9HteQYGdUrY4L\n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\ngZzgDKP4G8iG7xQEm5kbMk2iYIfo5XDYMnlDSl/IDsH5cM38eQX+RUrVJgAbwXK2mB0aCH40\nrmnSyWWBnOA0sRdyIRcqFAQLwk54Z41EwQ7RXeMkxTkPHg+Wt7ePwiQp0bW1tTa7aDlbzA71\nBTf4DxGnAwMbXRTICbZSZYyqUxJcGTFJkCjYMTps6OcFj8SOO6couDysz/Efj/UKOyKlbjOp\nrQTL2WL2qC+4CgrEaS7ccFEgJ7iJingoUVCz8GBgfI1UwQ7RtyEhLG3WaH/jYSVVC0csveAH\nSe5ko7VgOVvMHvUFX4Ox4jQXrrookBNsoeal4KANSmoWXgj8myBVsEP0FYDl5l/Q/xlSlVT9\njydMU5ZONiZKOLKItBYsZ4vZo8UuOlOcpvs3uCiQE2xm96OQe0ZRzfv91gqSBTtE18LD4lyO\nhPM7h+AH8e0tas+EJUkczcB2Fy19i9mjwUlWTLw4eSzWZYGcYGEZxEu9WrAPXtfcHVGJkqo7\n9BMnc0HCNbh98DFoekFpCnwuoWrBVrCsLWaHBoIngmUQu7PwlMsCOcFboFByf+L2wX8tsjAQ\nRhdJGTTCoerscLEpKcvP7Zj1zoMvwNPW8kppudsIlrPF7NBA8H6YJlj+65p/dw9uVNsWyA5u\nTA6TPmapQ80iUi+THKL/B+abd5EfQI6S4M4hlt/9p6YEiblbBcvfYnZoILhxFAxflgWWUSw/\ngl62BbKDKyEyu4nrCmoWkSrYIbp+EPR8fqRfVKWS4HJjwJh/G+1v+lRS3c2C5W8xO7Roi763\nIj08XWwpt27mlgLZwfubD6PuRh13WbMFqYIdo+8sy2jX9XkJ/7OcBV+enhycMuNLaVXbCZa1\nxWyh24XIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHI\nIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHI\nIcHIIcHIIcFmop87+0xc3IQLns5DDUiwmeisiGnb1z7cXnJXsDqCBJuJhl+YPy+Yhnk6ERUg\nwWaiA8T+Y2fDeU9nwh8SbCa6qQPJt6V2gacnSLCZ6HRx8kfY7OFEVIAEm4nuLE42wYceTkQF\nSLCZaIM4mpmkkVz0BgkWLGfRY+4Lwjb4macTUQESbCY6tkPSc8P92ksaLk9nkGDB0tBxYWx0\np/HUkoWV6CxPZ6AeJFggweghwcghwYRuIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHI\nIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHIIcHI+X88cMfV\nja14LQAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = seq(0, 1, length.out = 101)\n", "plot(p, qnorm(p), type=\"l\", ylab=\"Quantile\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Point estimates" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "x <- rnorm(10)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. -0.106124516091484
  2. \n", "\t
  3. 1.51152199743894
  4. \n", "\t
  5. -0.0946590384130976
  6. \n", "\t
  7. 2.01842371387704
  8. \n", "\t
  9. -0.062714099052421
  10. \n", "\t
  11. 1.30486965422349
  12. \n", "\t
  13. 2.28664539270111
  14. \n", "\t
  15. -1.38886070111234
  16. \n", "\t
  17. -0.278788766817371
  18. \n", "\t
  19. -0.133321336393658
  20. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item -0.106124516091484\n", "\\item 1.51152199743894\n", "\\item -0.0946590384130976\n", "\\item 2.01842371387704\n", "\\item -0.062714099052421\n", "\\item 1.30486965422349\n", "\\item 2.28664539270111\n", "\\item -1.38886070111234\n", "\\item -0.278788766817371\n", "\\item -0.133321336393658\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. -0.106124516091484\n", "2. 1.51152199743894\n", "3. -0.0946590384130976\n", "4. 2.01842371387704\n", "5. -0.062714099052421\n", "6. 1.30486965422349\n", "7. 2.28664539270111\n", "8. -1.38886070111234\n", "9. -0.278788766817371\n", "10. -0.133321336393658\n", "\n", "\n" ], "text/plain": [ " [1] -0.10612452 1.51152200 -0.09465904 2.01842371 -0.06271410 1.30486965\n", " [7] 2.28664539 -1.38886070 -0.27878877 -0.13332134" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mean" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Manual calculation" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.50569923003602" ], "text/latex": [ "0.50569923003602" ], "text/markdown": [ "0.50569923003602" ], "text/plain": [ "[1] 0.5056992" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sum(x)/length(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using built-in function" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.50569923003602" ], "text/latex": [ "0.50569923003602" ], "text/markdown": [ "0.50569923003602" ], "text/plain": [ "[1] 0.5056992" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mean(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Median" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Manual calculation" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "x_sorted <- sort(x)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "10" ], "text/latex": [ "10" ], "text/markdown": [ "10" ], "text/plain": [ "[1] 10" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "length(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since there are an even number of observations, we need the average of the middle two data poitns" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "-0.0786865687327593" ], "text/latex": [ "-0.0786865687327593" ], "text/markdown": [ "-0.0786865687327593" ], "text/plain": [ "[1] -0.07868657" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sum(x_sorted[5:6])/2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using built-in function" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "-0.0786865687327593" ], "text/latex": [ "-0.0786865687327593" ], "text/markdown": [ "-0.0786865687327593" ], "text/plain": [ "[1] -0.07868657" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "median(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Quantiles\n", "\n", "The mean is just the 50 percentile. We can use R to get any percentile we like." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "50%: -0.0786865687327593" ], "text/latex": [ "\\textbf{50\\textbackslash{}\\%:} -0.0786865687327593" ], "text/markdown": [ "**50%:** -0.0786865687327593" ], "text/plain": [ " 50% \n", "-0.07868657 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quantile(x, 0.5)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
0%
\n", "\t\t
-1.38886070111234
\n", "\t
25%
\n", "\t\t
-0.126522131318115
\n", "\t
50%
\n", "\t\t
-0.0786865687327593
\n", "\t
75%
\n", "\t\t
1.45985891163508
\n", "\t
100%
\n", "\t\t
2.28664539270111
\n", "
\n" ], "text/latex": [ "\\begin{description*}\n", "\\item[0\\textbackslash{}\\%] -1.38886070111234\n", "\\item[25\\textbackslash{}\\%] -0.126522131318115\n", "\\item[50\\textbackslash{}\\%] -0.0786865687327593\n", "\\item[75\\textbackslash{}\\%] 1.45985891163508\n", "\\item[100\\textbackslash{}\\%] 2.28664539270111\n", "\\end{description*}\n" ], "text/markdown": [ "0%\n", ": -1.3888607011123425%\n", ": -0.12652213131811550%\n", ": -0.078686568732759375%\n", ": 1.45985891163508100%\n", ": 2.28664539270111\n", "\n" ], "text/plain": [ " 0% 25% 50% 75% 100% \n", "-1.38886070 -0.12652213 -0.07868657 1.45985891 2.28664539 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quantile(x, seq(0,1,length.out = 5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**\n", "\n", "Gene X is known to have a normal distribution with a mean of 100 units and a standard deviation of 15 units in the US population. With respect to this population," ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- (1) What is the medan value for gene X?" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "100" ], "text/latex": [ "100" ], "text/markdown": [ "100" ], "text/plain": [ "[1] 100" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- (2) What is the probability of finding a value of more than 130 for gene X if you pick a person at random?" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "m <- 100\n", "s <- 15" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.0227501319481792" ], "text/latex": [ "0.0227501319481792" ], "text/markdown": [ "0.0227501319481792" ], "text/plain": [ "[1] 0.02275013" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "1 - pnorm(130, m, s)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- (3) If you measrue gene X and find that it is in the 95th percentile for this population, what is the measured value?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "124.672804404272" ], "text/latex": [ "124.672804404272" ], "text/markdown": [ "124.672804404272" ], "text/plain": [ "[1] 124.6728" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "qnorm(0.95, m, s)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- (4) Find answers to questions (1), (2) and (3) by simulating 1 million people sampled from the US population. Do they agree with the theoretical calculated values?" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "n <- 1e6\n", "x <- rnorm(n, m, s)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "100.020793858963" ], "text/latex": [ "100.020793858963" ], "text/markdown": [ "100.020793858963" ], "text/plain": [ "[1] 100.0208" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "median(x)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.022838" ], "text/latex": [ "0.022838" ], "text/markdown": [ "0.022838" ], "text/plain": [ "[1] 0.022838" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sum(x > 130)/n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "95%: 124.695020504446" ], "text/latex": [ "\\textbf{95\\textbackslash{}\\%:} 124.695020504446" ], "text/markdown": [ "**95%:** 124.695020504446" ], "text/plain": [ " 95% \n", "124.695 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quantile(x, 0.95)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- (5) Plot the PDF of gene X using `ggplot2` for values between 50 and 150. Give it a title of `PDF of N(100, 15)`, a subtile of `I made this!`, and label the x-axis as `Gene X` and y-axis as `PDF`. Make the PDF blue, and fill the region under the curve blue with a transparency of 50%." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n3rxly5bz589XqVTC9tu3bwcHB9cc0xYRESH8c/36dYTQkCFDWvxbcnIyQqioqMiewIKDg20X\nCAwM/OmnnwIDA0ePHh0UFNSrV68tW7YId4WFhQnfHwAAb+JzCdoe1dXVXbp0IUly3bp1ZWVl\n+/bts9ZVW7RocffuXYZhrIVv374t/CNk2MLCwlo/Ul5++WV7nhTDsEbLdOvW7ddff713796P\nP/4YFBQ0dOjQDRs2IITCw8MhQQPgfSBB1+Po0aMVFRUffvhhz549CYLgOO7YsWPCXenp6TRN\nr1271lpYaPVGCLVr106tVltrtQihrVu39ujR4+7du06JqqCgoF27drdu3QoICBg0aNDGjRvV\navX58+cRQqGhoZ9++qlTngUAIB0+1wZtj9atW1MUNXfu3LFjx1osliVLlhQXFyOEdu/e3b9/\n/yeeeGLSpElFRUXx8fGbN28WUiRCSKfTvffee7NmzSovL8/IyPjjjz8+//zz/v3719t2IZfL\nr127tm/fvtTUVI1GY09UHTp0uH79+siRI0ePHq1UKrdt22YymR577DGE0E8//bR06dKa3w0A\nAC8ANej/kMlkQltzixYt1q9fX1hY+NRTT33wwQfDhg07depUSkrKypUrEULffffdxIkT16xZ\n88orr9A0/csvv3Tv3l2pVCKE3n333cWLF+/evfuFF15YsWLFq6++Kozeq2vMmDE6ne7xxx8X\nUr89WrVqVVBQYDabp0+f/sorr9y4cWPLli1CP+SNGzd27NjhlIMAAJAOrNZQAQAAABIBNWgA\nAJAoSNAAACBRkKABAECiIEEDAIBEQYIGAACJggQNAAASBQkaAAAkyqtmEprNZovF4tAuGIYp\nFAqWZR3d0RUUCoXJZBI7CkRRFEEQwtqn4kYiLHJd70UP3AnHcblczjAMTdPiRoIQksvlZrNZ\n7CiQXC7HcdxoNIodCJLJZBzHiX6SEARBURRN0zUX6rGTVqtt6C6vStAsyzp67uI4rtFomrCj\nK6jVaimEQVEUSZIWi4XjOHEjERZCEf2YkCSpVqtpmhY9EgzDVCqV6GEghBQKBUmSUohEJpMx\nDCN6BYuiKOGtacIxsZGgoYkDAAAkChI0AABIFCRoAACQKEjQAAAgUZCgAQBAoiBBAwCAREGC\nBgAAiYIEDQAAEuVVE1UAcLqKCqykhDAYkEaDh4bioaEiT94BPgUSNAC1cRzas4datUpx/Dj5\n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\nAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x <- 50:150\n", "df <- data.frame(x=x, y=dnorm(x, m, s))\n", "ggplot(df, aes(x=x, y=y)) +\n", "geom_line(color='blue') +\n", "geom_polygon(fill='blue', alpha=0.5) +\n", "labs(title='PDF of N(100, 15)',\n", " subtitle='I made this!',\n", " x='Gene X',\n", " y='PDF')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interval estimates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Confidence intervals" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "ci = 0.95" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 94.215778757373
  2. \n", "\t
  3. 105.784221242627
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 94.215778757373\n", "\\item 105.784221242627\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 94.215778757373\n", "2. 105.784221242627\n", "\n", "\n" ], "text/plain": [ "[1] 94.21578 105.78422" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "alpha = (1-ci)\n", "n <- length(x)\n", "m <- mean(x)\n", "s <- sd(x)\n", "se <- s/sqrt(n)\n", "me <- qt(1-alpha/2, df=n-1) * se\n", "c(m - me, m + me)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that confidence intervals get larger as the confidence required increases." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "ci = 0.99" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 92.3442793441823
  2. \n", "\t
  3. 107.655720655818
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 92.3442793441823\n", "\\item 107.655720655818\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 92.3442793441823\n", "2. 107.655720655818\n", "\n", "\n" ], "text/plain": [ "[1] 92.34428 107.65572" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "alpha = (1-ci)\n", "n <- length(x)\n", "m <- mean(x)\n", "s <- sd(x)\n", "se <- s/sqrt(n)\n", "me <- qt(1-alpha/2, df=n-1) * se\n", "c(m - me, m + me)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Making a function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Review of R custom functions" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "f <- function(a, b=1) {\n", " a + b\n", "}" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "3" ], "text/latex": [ "3" ], "text/markdown": [ "3" ], "text/plain": [ "[1] 3" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f(2)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "5" ], "text/latex": [ "5" ], "text/markdown": [ "5" ], "text/plain": [ "[1] 5" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f(2,3)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "5" ], "text/latex": [ "5" ], "text/markdown": [ "5" ], "text/plain": [ "[1] 5" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f(b=4, a=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**\n", "\n", "Make a function called `conf` for calculating confidence intervals for the sample mean that takes two arguments \n", "\n", "- x is the vector of sample values\n", "- ci is the confidence interval with a default of 0.95\n", "\n", "The funciton should return a vector of two numbers indicating the lwoer and upper limeit of the confidence interval\n", "\n", "Check that it gives the same answer as the example above." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "conf <- function(x, ci=0.95) {\n", " alpha = (1-ci)\n", " n <- length(x)\n", " m <- mean(x)\n", " s <- sd(x)\n", " se <- s/sqrt(n)\n", " me <- qt(1-alpha/2, df=n-1) * se\n", " c(m - me, m + me) \n", "}" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 94.215778757373
  2. \n", "\t
  3. 105.784221242627
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 94.215778757373\n", "\\item 105.784221242627\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 94.215778757373\n", "2. 105.784221242627\n", "\n", "\n" ], "text/plain": [ "[1] 94.21578 105.78422" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "conf(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Coverage\n", "\n", "In 1,000 experiments, we expect the true mean (0) to lie within the estimated 95% CIs 950 times." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "n_expt <- 1000\n", "n <- 10\n", "cls <- t(replicate(n_expt, conf(rnorm(n))))" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "960" ], "text/latex": [ "960" ], "text/markdown": [ "960" ], "text/plain": [ "[1] 960" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sum(cls[,1] < 0 & 0 < cls[,2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hypothesis testing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Binomial test" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tosses\n", " H T \n", "27 23 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "set.seed(123)\n", "\n", "n = 50\n", "tosses = sample(c('H', 'T'), n, replace=TRUE, prob=c(0.55, 0.45))\n", "t = table(tosses)\n", "t" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tExact binomial test\n", "\n", "data: table(tosses)\n", "number of successes = 27, number of trials = 50, p-value = 0.6718\n", "alternative hypothesis: true probability of success is not equal to 0.5\n", "95 percent confidence interval:\n", " 0.3932420 0.6818508\n", "sample estimates:\n", "probability of success \n", " 0.54 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binom.test(table(tosses))" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tosses\n", " H T \n", "139 111 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "set.seed(123)\n", "\n", "n = 250\n", "tosses = sample(c('H', 'T'), n, replace=TRUE, prob=c(0.55, 0.45))\n", "t = table(tosses)\n", "t" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tExact binomial test\n", "\n", "data: t\n", "number of successes = 139, number of trials = 250, p-value = 0.0875\n", "alternative hypothesis: true probability of success is not equal to 0.5\n", "95 percent confidence interval:\n", " 0.4920569 0.6185995\n", "sample estimates:\n", "probability of success \n", " 0.556 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binom.test(t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What happens if we choose a one-sided test?" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tExact binomial test\n", "\n", "data: t\n", "number of successes = 139, number of trials = 250, p-value = 0.04375\n", "alternative hypothesis: true probability of success is greater than 0.5\n", "95 percent confidence interval:\n", " 0.5020197 1.0000000\n", "sample estimates:\n", "probability of success \n", " 0.556 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binom.test(t, alternative = \"greater\")" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tExact binomial test\n", "\n", "data: t\n", "number of successes = 139, number of trials = 250, p-value = 0.9668\n", "alternative hypothesis: true probability of success is less than 0.5\n", "95 percent confidence interval:\n", " 0.0000000 0.6089811\n", "sample estimates:\n", "probability of success \n", " 0.556 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binom.test(t, alternative = \"less\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### What happens if we change our null hypothesis?" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tExact binomial test\n", "\n", "data: t\n", "number of successes = 139, number of trials = 250, p-value = 0.8989\n", "alternative hypothesis: true probability of success is not equal to 0.55\n", "95 percent confidence interval:\n", " 0.4920569 0.6185995\n", "sample estimates:\n", "probability of success \n", " 0.556 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "binom.test(t, p = 0.55)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two-sample model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Welch t-test" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "set.seed(123)\n", "\n", "n <- 10\n", "x1 <- rnorm(n, 0, 1)\n", "x2 <- rnorm(n, 1, 1)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tWelch Two Sample t-test\n", "\n", "data: x1 and x2\n", "t = -2.5438, df = 17.872, p-value = 0.02044\n", "alternative hypothesis: true difference in means is not equal to 0\n", "95 percent confidence interval:\n", " -2.0710488 -0.1969438\n", "sample estimates:\n", " mean of x mean of y \n", "0.07462564 1.20862196 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t.test(x1, x2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Standard t-test" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tTwo Sample t-test\n", "\n", "data: x1 and x2\n", "t = -2.5438, df = 18, p-value = 0.02036\n", "alternative hypothesis: true difference in means is not equal to 0\n", "95 percent confidence interval:\n", " -2.0705694 -0.1974232\n", "sample estimates:\n", " mean of x mean of y \n", "0.07462564 1.20862196 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t.test(x1, x2, var.equal = TRUE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Power of t-test" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "d <- 1 # Effect size is ratio of difference in means to standard deviation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```R\n", "library(pwr)\n", "pwr.t.test(d = d, sig.level = 0.05, power = 0.9)\n", "```\n", "\n", "gives output\n", "\n", "```\n", " Two-sample t test power calculation \n", "\n", " n = 22.02109\n", " d = 1\n", " sig.level = 0.05\n", " power = 0.9\n", " alternative = two.sided\n", "\n", "NOTE: n is number in *each* group\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Interpretation of the power calculaiton\n", "\n", "If we did many experiments with `n=23` per group where the effect size is as specified and the test assumptions are valid, we expect that at least 90% of them will have a p-value less than the nominal significance level (0.05). If we used `n=22` we would expect that just under 90% of the experiments will have a p-value less than the nomial significance level (0.05).\n", "\n", "In particular notet that about 1-power of the experiments will fail to show a statistically significant p value even if the assumptionss are met (false negative)." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.901" ], "text/latex": [ "0.901" ], "text/markdown": [ "0.901" ], "text/plain": [ "[1] 0.901" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_expts <- 10000\n", "n <- 22\n", "alpha = 0.05\n", "sum(replicate(n_expts, t.test(rnorm(n, 0, 1), rnorm(n, 1, 1))$p.value) < alpha)/n_expts" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.9125" ], "text/latex": [ "0.9125" ], "text/markdown": [ "0.9125" ], "text/plain": [ "[1] 0.9125" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_expts <- 10000\n", "n <- 23\n", "alpha = 0.05\n", "sum(replicate(n_expts, t.test(rnorm(n, 0, 1), rnorm(n, 1, 1))$p.value) < alpha)/n_expts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Distribution of p-values under the null is uniform\n", "\n", "That meas that you expect $\\alpha$ of the experiments to be false positives." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "n_expt <- 10000\n", "n <- 50\n", "ps <- replicate(n_expts, t.test(rnorm(n), rnorm(n))$p.value)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "0.0478" ], "text/latex": [ "0.0478" ], "text/markdown": [ "0.0478" ], "text/plain": [ "[1] 0.0478" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sum(ps < alpha)/n_expts" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC/VBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrK0tLS1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrL\ny8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd\n3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v\n7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////lp849\nAAAACXBIWXMAABJ0AAASdAHeZh94AAAUz0lEQVR4nO2deXwUVZ7Af52DXCQQwhVCCIQQQOQS\nhAQYYAEJhEMRlENAkFtRHGU8BwXZmWEQV8ZlXdwBxGN3lGMAcQdUlNGgKOh4IYhCFEFgYYFw\n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\nsJE1piEMgnfAZKb86fLt7srps+IMw8kVbZPPml+yit7LJL/sv8K9fBe5EQrMJGclKtv97vjW\nOmv3CDa+xjSEQXDFEBj4eH8YxkffgS7iDMPJxZA2yM0pE0tW0SvYL/tqL+g0a7CrcbGZ5F1x\nMSPuGRodv1vXsqsEG19jGsLRF136ZF5KntpT7lnN3hmGk3dUHUaPmlmygl7B/tkXHs+v236W\njr+sQMmHp7RNaDf1B32L1gg2tMZE6N+FyCHByCHByCHByCHByCHByCHByCHByCHByCHByCHB\nyCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHByCHB\nyCHByCHByCHByCHByCHByCHByCHByCHByKntgptO/2ZiZuYY5T5j7JWe9dP6bXe6Ipup9YL7\n15+8bmmjensY+wM0GT85Jfp9p0uyl1ovGH7NX7+LH8BY4zaljO2CaU6XZC+1XnCMeuvYGfDt\nleicq4xV7D3odEn2UusFu+8d+V+wlQ2Bdks/1Xmz38ih1gvOUweb4AV27r5UgLR7jN9UXWpq\nveAsdfAcvMFfy3c+1R5uMP5cBJmp9YKj1AeZFcKBQ0s+UMb6wRFnK7KZWi8YRlxm7DXoxw5C\nPj8AX82vU+p0TbZS6wU3b5A7faCr3l5WUQBd5k3IhPlOl2QvtV5w/+9ubpoxWunJOvtobmJa\n3hrjz72QGhLsdAUhhgQ7XUGIIcFOVxBiSLDTFYSY2i4YPSQYOSQYOSQYOSQYOSQYOSQYOSQY\nOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQY\nOSQYOf8E7g0nfDiip64AAAAASUVORK5CYII=", "text/plain": [ "Plot with title “Histogram of ps”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hist(ps)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Paired and one-sample t-tests\n", "\n", "A paired t-test is commonly used to evaluate if paired measuremetns (e..g. weight before and after a diet for the same person) has changed. The paired t-test is equivalent to a one-sample t-test that compares the difference in measurements for the paired values with a fixed number (usually 0). " ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "x1 <- rnorm(10, 100, 15)\n", "x2 <- rnorm(10, 100, 15)\n", "delta <- x1 - x2" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tPaired t-test\n", "\n", "data: x1 and x2\n", "t = -2.4618, df = 9, p-value = 0.03605\n", "alternative hypothesis: true difference in means is not equal to 0\n", "95 percent confidence interval:\n", " -12.3446069 -0.5215923\n", "sample estimates:\n", "mean of the differences \n", " -6.4331 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t.test(x1, x2, paired=TRUE)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "\tOne Sample t-test\n", "\n", "data: delta\n", "t = -2.4618, df = 9, p-value = 0.03605\n", "alternative hypothesis: true mean is not equal to 0\n", "95 percent confidence interval:\n", " -12.3446069 -0.5215923\n", "sample estimates:\n", "mean of x \n", " -6.4331 \n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t.test(delta, mu=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise**\n", "\n", "Suppose that the null hypotehsis is that there is no difference in the paired measurements and the standard deviation of the differene is 2.\n", "\n", "- Run a simulation for 100,000 experiments with `n=25` per experiment to show the distributon of the p values using a paired or one -sample t-test under the null.\n", "- If the significance level is 0.05, how many false positive results were observed?" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "n_expt <- 100000\n", "n <- 25\n", "s <- 2\n", "ps <- replicate(n_expts, t.test(rnorm(10, 0, s), mu=0)$p.value)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC+lBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrK0tLS1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrL\ny8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd\n3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enr6+vs7Ozt7e3u7u7v7+/w\n8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+fzJlCAAAA\nCXBIWXMAABJ0AAASdAHeZh94AAAU5UlEQVR4nO2deXwUVZ7Af7kvAoRwhZAEQgignIYjHAIL\nSCAcgiCXgEFuLxxlRjxAkJlZBnVlXMbBFQGPXV3BEYw7oIJZBUWIjhcDoghEkGuBhCOBhLzP\nZ19Vd9L9qjuVqq7qrupf/75/1NW/33uv65u6XqqrgBGoAasbQPgXEowcEowcEowcEowcEowc\nEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowc\nEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEowcEoycIBO8CQD2OiY7\nAgxg7A2+oMqixlQuz4xKeN2iyrVCgn3nz7xuWG9R5VrBKLiKL3srAI0ZCtDkvt0BqMgIwS74\nyKZNm6oVQYES3AngwQBUY4xgF+yNQAnmLXgyANUYI9gFrwNoIM1Vv5uXGZt52xt8dz0RZKSw\ncyvyMxr2LvjAmX10crOEf/ni+9zc/nxmOUAW29I9m58sbRyUEZPW74XLfOnzubnzyh/pFt9l\nbfW1Fe1j28361b169/Kc1Syv+eyPubn3Xn4oNbbD0ktM0SIrQSK4erxjdUPOZTfBnzR1Lp1R\nKWX8rzwb+wxAJHMIfhWgDbvWzxnV9QpjDwHc7Jj/zRB5lHrRVbtQnlLwHID+A+RFHU8rWmQl\nQSjYhUvwv/O5rPG9+XA2O1gkrffdZawkiU+06R3Lh0t4TKmkp0VDiKwV3KKJJPgJvrjDoGZ8\n+LQsGCC+iaP8lhGOhU7E8g7uTgeYubuk5lMuOAzC2kRK/hUtshIkgkcB3MVHawGauo7BCwDC\nX2PsdF+AmFNMEhn1JrvxbFitYEjd+O1B1tnhfypAvkPw76rYCj5KP8RKWgGMr61cUZ7iGMwF\nQ48SdpE3JfyAokUWgkRwF4DMzZfYpa1bt16vFZzNtzAp6WA4wDuMtXNuTHe4BO/h4+qX1q3j\nuqr54p6y4Cb8qHmSf/gC/3CW+5mcojxPwWFf8/G5BIBVihZZSBAK9nYMniX5jhr0h33SJZNT\n8DW+t9wih3Izf2DX+P52mzS3uVZwI2epv7z2cB7fVp2Ce/Al5/jc+0zeaGsFK8rzIjhdnhgG\ncI+iRRaCRPD5O8MdG3WHj2oF/8xHn8uhQ6Rt9zCfLZbm9tUKbid/emSonJlQI5gPZcHbmShY\nUZ4XwX3kiZkAwxUtshAkgvlW+PzQKGl9xhytEVwR4diTyqFPsQt86d+luW2us2hp9jrfmTZd\n+NaxpfUJVpTnRXCGPHEbwBxFiywEh+Dzu3fvrmZlW/iZDfy19hicBTBLijzEzWxmLJlf+kiz\nc0TBX/LoH/h4Qn2CleV5OQZ/J6U2AHhO0SILwSH4CF/8N77sUgzA67JgaaXOBYj4L8bO8Ova\n6JPyhWsc34Q3RIiCt/Po/Yx9GFGvYEV5Xs6ie51iZaN58YcULbIQHIKlbuHI7ncOac4V8B0i\nP5z2WHuaHW3Eo9v3T3BeBx+UrmrTk6W9prvgE9LJUO/u/OIJctQFK8rzIhgi2kfz4UKPFlkH\nEsGHm9dcOkmbbh44wj52dljALLm/cK3UCQHh40XBjvNdyLwbIOmqqmBleR6Ce7SVP8274NEi\n60AimJW9MDAzrknXe6QrUVYyoVlkI+mM+cyyEemJvQpqzmN3T8xoOnz7XoXgilWdEm55uLS4\nZ8+er6gLVpTnIXjwiWnJiUOeu8E8WmQdQSbYDLb7p3NJEuyHYo0SQoIXT5myWhrPAxjhh+JJ\nsNXcy4+/i3cWzed73zf9UDwJtpqyXOdZT9hj/iieBFtO5X+PbB/XrOfsA34pnQQTVkCCkUOC\nkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOC\nkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkUOCkWNMcPW5\nX2+Y1BDCPxgQXHRXahRAROvJReY1hzAbnwWXjwBo1Sc/PzcNYHSFmU0KNcrPi5i7T/RZ8DIY\n8Q/H1IGpsNKs5oQiqSCyyNTSfRac27GyZrJ6YD9zGhOaJKwpdmd0gaml+yy44d2u6ccbmtGU\nUCWhUJgtsIngvp1cb10c0teUtoQoNhW8HEZ955g6PANWmNUclGy9U2SJ+LFNBZfnA6QPGHv7\nwEyAkX46i35tlcg+/1Tjbwqy57kzIkH82KaCGft4akoEvw5OmbTTvOaINOg+zJ0Uc796wFAo\nKwwWwZwbp0/5syfLn199xTyRwvpTfCWIBZvcVXlssniwitwofGzqV08YIfjN9uPeIVgFm99V\nWRj1qIDr9doy5gr262pVK7swXuy5irenYH90VSr/ti0UfPyIwHFdZY/LEUjuI3y6WtFzBc+o\ntsQgtuqq1Ce4ZIq4Q5/6i5661AV/rJSgay+VcP9L7jTLEj59CoSeq2J//hn7q6vy8nLXfvbh\nSZrL1Ce4MFI8TYp8X3NFrD7BhXHiFhynWnZxjOLPYY3wcZZSsJit+Ja3thIuHYbN0fR16sQ/\nXZWnRroa2As078B1ClZEx5spWFfZhbEfCijarU9wVpJwHjJR0RK9+L+rcg9c01qmfQVHDRAP\nB9tUo40JFqOVZevF/12VKARDjtpFFUrBmrsq1QS/LJ5uZkUqGid+9TsHv+3OkjgxWiG4SvF/\n9KtitEJwZ8VRNEy1JfX9OWAQrLmrUk1wQY7Q1zxM/au3D09yJ1YhQSH4QYWyFDFaITirlXAU\nnaHektAQzLR1VQqCewmKkqJvEUL1fXVltEJwwQThPHi9ev+RPglBKnhTqf78Gz8cqFSPEAQn\nLBH2si2NfHVldPRE4fSzy0jh0zcVvWRR4htIQ0IwxN7x9tU6IxU8+QofXF8ZDxB9z3m1QFGw\nke2mvuhM4foxToxeDuLlpSEJExRnA7GG2h0wwX8ZFA4Nphde15Y4mEnvWk6aML8vZKv9WQRO\ncOCi20dlupOkfkpmG8GMnVrLHTeZu0vDv4gkwd+E9T7LJ191f5W9BxgFBzDa9JOsU2sHhkPK\nor31JnLB62CPPN2/p0ogCbaXYPb18rbSVUWHbV6i3RMHS/9wuCRPL1BrBAm2keDKXYsyAFrO\n3/HVIw3CdqkncsGvw7fy9Lg0lUASbBvBW2YkAbR7ZE+1NPMV3Kue2Grl5n3NJkqxn0VOUAkk\nwbYRDNB1+Tc1M6VNn/ES7iItTO4f+h/GHoiJ/YdKIAm2jeBnj+jJvPrtO6tm3/ohYy27fKEW\nR4JtI5ixk7v44NXv9RXxk/rHJNg2gqsWh0nXO23gATNvlSTBthH8IuS+x0efjIWXjRUqQIJt\nI7hrlkNFdQ+1jgu9kGDbCE6Y75y4P9FYoQIk2DaCO+Q7J0ZnGytUgATbRvDsiPfk8Y6ImcYK\nZdWfum6OWEOC7SL4bBoM//36P40La3rSWKHsSJT7zTJud2yRYEuvg49Olbun8nReCKtDu2j7\nCGbszKf/+dFxYyUqIcF2EuwHSLB9BL892XnD0ixjhQqQYNsIfhkgqalMW2OFCpBg2wi+uXeJ\nscK8QoJtIzh2h7GyvEOCbSO49UfGyvIOCbaN4GWTjZXlHRJsG8GVM8bsPHlZxlihAiTYNoIb\nN6rtXTRWqAAJto3gOS6MFSpAgm0j2D+QYDsJLv/uc2PleUKC7SP4+KRofvh9ceJxY2WKkGDb\nCD6VDgNuA7Y5MuWEsUIFSLBtBN8P69kbfMHemAXGChUgwbYRnDGQyYLZxPbGChUgwbYRLN1V\nKQt+wGChAiTYNoJ793QK7p9jrFABEmwbwSthxQ1J8J/hUWOFCpBg2wiuHABZfWF2F7hZ87N2\nNECCbSOYXfu3NABIfrzMWJmMHYml22ZNija7q/LSgf8zVqBMdRHd+G5SNPVFI482U/D0Wp41\nVqgACbaN4NqDZvpcY4UKkGDbCK6QKP9la87AK8YKFSDBthFcQ1nWQ8YKFSDBthPMfttKY7aW\nN5+RYPsJXhTnbakSjW8+I8F2E1xd1LBr/Yma33xGgm0juIGDaIBX60/U/OYzEmwbwaOd3F3P\ng2ZlVN985g4Jto1gXai++cwdEhycgn178xkJtlJwa4He6om+vfmMBFspeEEqQMuc1mHQZgBn\nqHqib28+I8FWCv40fKi0Uf4wMvWYllRf3nxGgq0UPCbD0Qdd3m6ixmzdbz4jwVYKblFzYjy7\ntcZs6qr0e7SZgtOHOCduS/EWqoS6KgMRbabgyeFbHWWGj64/kboqAxNtpuCfk8Inb/j7xmnh\nMV/Vn0hdlYGJNrWj48tB8g0dnbZrSKSuysBEm9yT9e3m5177rMp7qIhqV+WZ0a7XfPai22Zt\nJFj7D8BVuyrLnnS9qHc6bcG2EaznB+DUVRmYaMt+AE5dlYGJtvAH4NRVGYhoa38ATl2Vfo+2\n8gfgpw85r5TOqu3SSbBtBOv7Afj+zgAtXpEnh4FKHAm2jWBdPwD/OS58WH4MrJGmSbD/oi37\nAfhdYe/znXRm9AFGgoNFsK4fgLfLk4aHYkcxEhw0gpmOH4DHL5RHS6CIBAeJ4JPr9uhIvClX\nHpWmZJaS4OAQXAQTdCQugkflG3y2wrgLJNh/0SYKvnZz07PaEy+0hRj5MPwYJCaTYL9Fm3kM\nvjgmZ9uxMq2P9L+8tG83eWJjtuoT4kmwbQS3bO7bI/2rj6q9roUE20YwPdLfhtFmCb5fwy9G\nfYME20IwTJeGG8zcdJ2QYBsJLtB38NUECSbBNdhntdonmgQjj7an4PI1q2pZSILxCT6Rm1NL\nB7ovGp9gd2gXbQ/BGVM4bWGKA2OFCpBgewgWMVaoAAm2heBiEWOFCpBgWwj2HySYBNdgn9Vq\nn2gSjDyaBCOPJsHIo0kw8mgSjDyaBCOPJsHIo0kw8mgSjDyaBCOPJsHIo60VTI8T9nu0hYLp\nccKBiLZMMD1OODDRlgmmxwkHJtoyweqPE/7edXPIBkHwGuHGkbQ0YXYeiPeVwDyKXmPLN5/9\nFOZ2f1dYpeuDVCB0kuqrIQc+C1Z/81nZeRelbsvLzwucOyfOn1GdDc3ocl8NOfBZsObHCROW\n4vtZtNbHCROWYuA6WOPjhAlLMdaTpeVxwgJRVp+yBB9RhgwFoC9aIF68TNLHmDEGktfEGUgu\njrOu3fHG1niABSs6OvRRUGAg2ViHQbC2mwRrJFjbTYI1EqztJsEaCdZ2k2CNBGu7SbBGgrXd\nJFgjwdpuEqyRYG03CdZIsLabBGskWNsdcMFJHxhInjfPQPIHSQaSg7bdARd8VN//JkTOnzeQ\nfOOogeSgbXfABROBhgQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQjhwQj\nhwQjJxCCK57u17DfigqVBXqSLz7cJaH9DG3/Bvda0SbQeP+NZ/bm/g1SJv3kW/KFR26Kv2nx\nRW1VM/ZiY/WmaCUQgkdBx5nZMFJlgY7kK5mQu2B4WJymN/94q+hQglbBHtl/hJRpYyOSj/uS\nfKkD9JvbDzpe0Vb3lZsEwXrWmEgABH8Mo6pYZR4U1blAT/Iy+B0fFoZ38SWZU94NNAr2yD4R\n2ZtvgO/CLF+SV8rPuVgGq7RUveNPHcFdsJ41piAAgqeC9DCPrxxvR/S6QE9y3xh5GxgGZ3xI\n5iyMn6lRsEf2UvhMGj2zxpfk0XCKD0tgvJaqYwEEwXrWmIIACG6V5hil1rlAT3K3PHmUD4d8\nSGZsC7yySqNgj+xOaZryvCdPgK/5cB9oei1kRUWFsIv2KE07/hd8I2KAPO4TVV3HAj3JTk7H\nNK/0Fl9f8tHGU5hGwZ7Zibd+M7ZF6zsO+pS8J/GW4qv7uyd+rqVuTmc3wXrWmBL/Cz4NY+Vx\nPpyrY4GeZAeHMmG9DzWz630yS7UK9sgug3aJ3WaPjIj5zJeq2eeRfL8bvV9L1RLugvWsMSX+\nF3wKbpfH+fBrHQv0JEuUPhYX/bwvNbPfRn3BtAr2yC4BWMq3oF3hnX2p+vu2sdMenxqTpeHI\nIuMuWM8aUxKIXfRAeZwbcaOOBXqSOdtaQf4Bn2reGbaaaRbskV0BzeSpPA3ndx7J1zMbSWoP\nJGZX1Z3ljriL1r7GlATgJCslUx6lt65zgZ5k9gRkar1aUCY/W/tsIg07eM+qm/SURwtBwzW4\nMnk/OH6gNA2+0VA1EwXrWmMKAiB4EvzIh/+EyXUu0JO8CcaVqsSrJn+4QKIPjFyw25eqhzWU\nu5IGh13Sn/wj3OVcrvGnKIJgPWtMQQAE74SZTPrT5dvd9XMXxAW6k6s7JF7wvWYZrZdJHtl/\ngwf4LvIdyPMlOSNe2u73xrbT2HanYP1rTEEABFePgKFPDIZRfPIj6C4u0J18FJKHOTjrQ80y\nWgV7ZFf1g67zh4c117INeiTviYkcc9/IiNi9muquFax/jSkIRF90+VO5DXPlnnLnanYt0J28\ns/YwesKXmiW0CvbMvvRE3wad5mv4y/KW/HNBh7iOs45pq1ohWNcaE6F/FyKHBCOHBCOHBCOH\nBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOH\nBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCOHBCMn1AW3nPPP6Wlp\nE6XnjLHX+zROHrTD6haZTMgLHtx45turmzXaz9i/QoupMxtGfGJ1k8wl5AXDb/jwx9ghjDVv\nX87YHphtdZPMJeQFR8qPjp0LP1yPyKpirLr4sNVNMpeQF+x4duR/QCEbAR1Xf6nxYb/BQ8gL\nzpVH78JL7OKDSQDJ9+l/qLqtCXnBGfLoBXiPDyuLnu4Et+h/L4KdCXnB4fKLzPLh0JFVn0pT\ng6DE2haZTMgLhjHXGHsLBrHD0JcfgKv6Rpdb3SZTCXnBrZtkzxka1qiYVedB90XT0mCx1U0y\nl5AXPPjH21umTpB6si48lh2fnLtB/3svbA0JtroFfoYEW90CP0OCrW6BnyHBVrfAz4S6YPSQ\nYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOSQ\nYOSQYOSQYOSQYOSQYOSQYOSQYOSQYOT8P/9c/b9510r8AAAAAElFTkSuQmCC", "text/plain": [ "Plot with title “Histogram of ps”" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hist(ps)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/html": [ "2.00293039283011" ], "text/latex": [ "2.00293039283011" ], "text/markdown": [ "2.00293039283011" ], "text/plain": [ "[1] 2.00293" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n <- 100000\n", "s <- sqrt(2)\n", "sd(rnorm(n, 0, s) - rnorm(n, 0, s))" ] } ], "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.4.0" } }, "nbformat": 4, "nbformat_minor": 2 }