From 5c971849514707f56e86c74b9ddeb91676f0658d Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Fri, 23 Feb 2018 11:06:15 +0000 Subject: [PATCH] Added missing file, cleared output --- section5.1.ipynb | 157 ++++++++++---------------------------- section5.1solutions.ipynb | 111 ++++++++++----------------- unit4.ipynb | 39 ++++++++++ 3 files changed, 117 insertions(+), 190 deletions(-) create mode 100644 unit4.ipynb diff --git a/section5.1.ipynb b/section5.1.ipynb index 828fbb6..5a8ef2e 100644 --- a/section5.1.ipynb +++ b/section5.1.ipynb @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": { "scrolled": true }, @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": { "scrolled": false }, @@ -96,13 +96,13 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "fit <- lm(loss ~ hardness, data = rubber)\n", - "summary(fit)\n", - "anova(fit)\n", + "fit.h <- lm(loss ~ hardness, data = rubber)\n", + "summary(fit.h)\n", + "anova(fit.h)\n", "# af <- anova(fit)\n", "# afss <- af$\"Sum Sq\"\n", "# print(cbind(af,PctExp=afss/sum(afss)*100))" @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -121,11 +121,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "ggplotRegression(fit)" + "ggplotRegression(fit.h)" ] }, { @@ -145,88 +145,13 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Your solution here" ] }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "\n", - "Call:\n", - "lm(formula = loss ~ strength, data = rubber)\n", - "\n", - "Residuals:\n", - " Min 1Q Median 3Q Max \n", - "-155.640 -59.919 2.795 61.221 183.285 \n", - "\n", - "Coefficients:\n", - " Estimate Std. Error t value Pr(>|t|) \n", - "(Intercept) 305.2248 79.9962 3.815 0.000688 ***\n", - "strength -0.7192 0.4347 -1.654 0.109232 \n", - "---\n", - "Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n", - "\n", - "Residual standard error: 85.56 on 28 degrees of freedom\n", - "Multiple R-squared: 0.08904,\tAdjusted R-squared: 0.0565 \n", - "F-statistic: 2.737 on 1 and 28 DF, p-value: 0.1092\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\n", - "
DfSum SqMean SqF valuePr(>F)
strength 1 20034.7720034.7722.736769 0.1092317
Residuals28 204976.59 7320.593 NA NA
\n" - ], - "text/latex": [ - "\\begin{tabular}{r|lllll}\n", - " & Df & Sum Sq & Mean Sq & F value & Pr(>F)\\\\\n", - "\\hline\n", - "\tstrength & 1 & 20034.77 & 20034.772 & 2.736769 & 0.1092317\\\\\n", - "\tResiduals & 28 & 204976.59 & 7320.593 & NA & NA\\\\\n", - "\\end{tabular}\n" - ], - "text/markdown": [ - "\n", - "| | Df | Sum Sq | Mean Sq | F value | Pr(>F) | \n", - "|---|---|\n", - "| strength | 1 | 20034.77 | 20034.772 | 2.736769 | 0.1092317 | \n", - "| Residuals | 28 | 204976.59 | 7320.593 | NA | NA | \n", - "\n", - "\n" - ], - "text/plain": [ - " Df Sum Sq Mean Sq F value Pr(>F) \n", - "strength 1 20034.77 20034.772 2.736769 0.1092317\n", - "Residuals 28 204976.59 7320.593 NA NA" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fit <- lm(loss ~ strength, data = rubber)\n", - "summary(fit)\n", - "anova(fit)" - ] - }, { "cell_type": "markdown", "metadata": { @@ -238,41 +163,25 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": { "hidden": true, "solution2": "hidden" }, "outputs": [], "source": [ - "fit <- lm(loss ~ strength, data = rubber)\n", - "summary(fit)\n", - "anova(fit)" + "fit.s <- lm(loss ~ strength, data = rubber)\n", + "summary(fit.s)\n", + "anova(fit.s)" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": {}, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\nASznWhsY1T0PAAAAAElFTkSuQmCC", - "text/plain": [ - "plot without title" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "ggplotRegression(fit)" + "outputs": [], + "source": [ + "ggplotRegression(fit.s)" ] }, { @@ -307,22 +216,22 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "fit <- lm(loss ~ hardness + strength, data = rubber)\n", - "summary(fit)\n", - "anova(fit)" + "fit.hs <- lm(loss ~ hardness + strength, data = rubber)\n", + "summary(fit.hs)\n", + "anova(fit.hs)" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "ggplotRegression(fit)" + "ggplotRegression(fit.hs)" ] }, { @@ -338,6 +247,19 @@ "Associated with each estimated parameter, GenStat gives a standard error (details of the calculation of which need not concern us now) and hence a _t_-statistic (estimate divided by standard error) to be compared with the distribution on `d.f. (Residual)`=27 degrees of freedom. GenStat makes the comparison and gives _p_ values, which in this case are all very small, suggesting strong evidence for the non-zeroness (and hence presence) of each parameter, $\\alpha$, $\\beta_1$ and $\\beta_2$, individually." ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fits <- list(fit.h, fit.s, fit.hs)\n", + "data.frame(\n", + " \"Vars\" = sapply(fits, function(x) toString(attr(summary(x)$terms, \"variables\")[-(1:2)]) ),\n", + " \"Adj R^2\" = sapply(fits, function(x) summary(x)$adj.r.squared)\n", + ")" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -387,12 +309,11 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "fit <- lm(loss ~ hardness + strength, data = rubber)\n", - "autoplot(fit)" + "autoplot(fit.hs)" ] }, { diff --git a/section5.1solutions.ipynb b/section5.1solutions.ipynb index 614f03e..1858975 100644 --- a/section5.1solutions.ipynb +++ b/section5.1solutions.ipynb @@ -61,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -78,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -115,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -124,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -135,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -144,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -153,6 +153,15 @@ "anova(fit.tats)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ggplotRegression(fit.tats)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -162,51 +171,9 @@ }, { "cell_type": "code", - "execution_count": 112, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\n", - "
VarsAdj.R.2
TA 0.4915797
TS 0.6359290
TA, TS 0.9744140
\n" - ], - "text/latex": [ - "\\begin{tabular}{r|ll}\n", - " Vars & Adj.R.2\\\\\n", - "\\hline\n", - "\t TA & 0.4915797\\\\\n", - "\t TS & 0.6359290\\\\\n", - "\t TA, TS & 0.9744140\\\\\n", - "\\end{tabular}\n" - ], - "text/markdown": [ - "\n", - "Vars | Adj.R.2 | \n", - "|---|---|---|\n", - "| TA | 0.4915797 | \n", - "| TS | 0.6359290 | \n", - "| TA, TS | 0.9744140 | \n", - "\n", - "\n" - ], - "text/plain": [ - " Vars Adj.R.2 \n", - "1 TA 0.4915797\n", - "2 TS 0.6359290\n", - "3 TA, TS 0.9744140" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "fits <- list(fit.ta, fit.ts, fit.tats)\n", "data.frame(\n", @@ -224,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -240,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -256,7 +223,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -273,31 +240,31 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "fit <- lm(ventil ~ oxygen, data = anaerobic)\n", - "summary(fit)\n", - "anova(fit)" + "fit.o <- lm(ventil ~ oxygen, data = anaerobic)\n", + "summary(fit.o)\n", + "anova(fit.o)" ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "ggplotRegression(fit)" + "ggplotRegression(fit.o)" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "autoplot(fit)" + "autoplot(fit.o)" ] }, { @@ -310,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -320,13 +287,13 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "fit <- lm(ventil ~ oxygen + oxy2, data = anaerobic)\n", - "summary(fit)\n", - "anova(fit)" + "fit.o2 <- lm(ventil ~ oxygen + oxy2, data = anaerobic)\n", + "summary(fit.o2)\n", + "anova(fit.o2)" ] }, { @@ -338,20 +305,20 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "ggplotRegression(fit)" + "ggplotRegression(fit.o2)" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "autoplot(fit)" + "autoplot(fit.o2)" ] }, { diff --git a/unit4.ipynb b/unit4.ipynb new file mode 100644 index 0000000..21889e7 --- /dev/null +++ b/unit4.ipynb @@ -0,0 +1,39 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Unit 4\n", + "\n", + "Sample text for unit 4 goes here\n", + "\n", + "Back to [section 5.1](section5.1.ipynb)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} -- 2.34.1