{ "cells": [ { "cell_type": "markdown", "id": "cee3d0af", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Introduction to R and jupyter notebook\n", "\n", "In order to illustrate the use of `jupyter notebook` and `R`, let us prepare for the next lecture using a `notebook`.\n", "\n", "Notebooks run online (here on [syzygy.ca](syzygy.ca)). It uses two (mainly) types of \"cells\". A cell like this one is a text cell. Text is formatted using `markdown`, which is a simple text description language yet has relatively powerful capabilities. See [here](https://www.markdownguide.org/getting-started/) for details, for instance." ] }, { "cell_type": "code", "execution_count": 2, "id": "8245d9f0", "metadata": { "slideshow": { "slide_type": "subslide" }, "vscode": { "languageId": "r" } }, "outputs": [], "source": [ "# This is an R code cell \n", "# The sign \"#\" is used for comments in R, so these lines do nothing" ] }, { "cell_type": "markdown", "id": "a8e10089", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "This is a markdown cell." ] }, { "cell_type": "markdown", "id": "1b424914", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "Cells are evaluated by pressing Shift+Enter or Ctrl+Enter. This current one is an evaluated markdown cell, the one just above is an unevaluated markdown cell, the first an R cell (evaluated or not, since it is only a comment, it is hard to tell the difference)" ] }, { "cell_type": "markdown", "id": "37b28f53", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Grabing the Canadian census data\n", "\n", "To illustrate the method, we will consider the evolution of the population of Canada through time. For this, we will grab the census data. We search for \"canada historical census data csv\", since `csv` (comma separated values) is a very easy format to use with `R`. [Here](https://www150.statcan.gc.ca/n1/pub/11-516-x/sectiona/4147436-eng.htm), we find a `csv` for 1851 to 1976. We follow the link to Table A2-14, where we find another link, this time to a `csv` file. This is what we use in `R`.\n", "\n", "The function `read.csv` reads in a file (potentially directly from the web). We assign the result to the variable `data`. We then use the function `head` to show the first few lines in the result." ] }, { "cell_type": "code", "execution_count": 3, "id": "b37083a8", "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 6 × 23
XSeries.A2.14.Population.of.Canada..by.province..census.dates..1851.to.1976X.1X.2X.3X.4X.5X.6X.7X.11X.12X.13X.14X.15X.16X.17X.18X.19X.20
<int><chr><chr><int><chr><chr><int><chr><chr><chr><chr><int><chr><int><chr><int><chr><chr><int><lgl>
1NA NA NA NA NA NA NANA
2NAYearCanadaNANewfound-PrinceNANova New QuebecSaskat-NAAlbertaNABritish NAYukon Northwest NANA
3NA NAland EdwardNAScotiaBrunswick chewan NA NAColumbiaNATerritoryTerritoriesNANA
4NA NA IslandNA NA NA NA NANA
5NA 2 NA3 4 NA5 6 7 10 NA11 NA12 NA13 14 NANA
6NA NA NA NA NA NA NANA
\n" ], "text/latex": [ "A data.frame: 6 × 23\n", "\\begin{tabular}{r|lllllllllllllllllllll}\n", " & X & Series.A2.14. & Population.of.Canada..by.province..census.dates..1851.to.1976 & X.1 & X.2 & X.3 & X.4 & X.5 & X.6 & X.7 & ⋯ & X.11 & X.12 & X.13 & X.14 & X.15 & X.16 & X.17 & X.18 & X.19 & X.20\\\\\n", " & & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n", "\\hline\n", "\t1 & NA & & & NA & & & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\t2 & NA & Year & Canada & NA & Newfound- & Prince & NA & Nova & New & Quebec & ⋯ & Saskat- & NA & Alberta & NA & British & NA & Yukon & Northwest & NA & NA\\\\\n", "\t3 & NA & & & NA & land & Edward & NA & Scotia & Brunswick & & ⋯ & chewan & NA & & NA & Columbia & NA & Territory & Territories & NA & NA\\\\\n", "\t4 & NA & & & NA & & Island & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\t5 & NA & & 2 & NA & 3 & 4 & NA & 5 & 6 & 7 & ⋯ & 10 & NA & 11 & NA & 12 & NA & 13 & 14 & NA & NA\\\\\n", "\t6 & NA & & & NA & & & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 6 × 23\n", "\n", "| | X <int> | Series.A2.14. <chr> | Population.of.Canada..by.province..census.dates..1851.to.1976 <chr> | X.1 <int> | X.2 <chr> | X.3 <chr> | X.4 <int> | X.5 <chr> | X.6 <chr> | X.7 <chr> | ⋯ ⋯ | X.11 <chr> | X.12 <int> | X.13 <chr> | X.14 <int> | X.15 <chr> | X.16 <int> | X.17 <chr> | X.18 <chr> | X.19 <int> | X.20 <lgl> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| 1 | NA | | | NA | | | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "| 2 | NA | Year | Canada | NA | Newfound- | Prince | NA | Nova | New | Quebec | ⋯ | Saskat- | NA | Alberta | NA | British | NA | Yukon | Northwest | NA | NA |\n", "| 3 | NA | | | NA | land | Edward | NA | Scotia | Brunswick | | ⋯ | chewan | NA | | NA | Columbia | NA | Territory | Territories | NA | NA |\n", "| 4 | NA | | | NA | | Island | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "| 5 | NA | | 2 | NA | 3 | 4 | NA | 5 | 6 | 7 | ⋯ | 10 | NA | 11 | NA | 12 | NA | 13 | 14 | NA | NA |\n", "| 6 | NA | | | NA | | | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "\n" ], "text/plain": [ " X Series.A2.14.\n", "1 NA \n", "2 NA Year \n", "3 NA \n", "4 NA \n", "5 NA \n", "6 NA \n", " Population.of.Canada..by.province..census.dates..1851.to.1976 X.1 X.2 \n", "1 NA \n", "2 Canada NA Newfound-\n", "3 NA land \n", "4 NA \n", "5 2 NA 3 \n", "6 NA \n", " X.3 X.4 X.5 X.6 X.7 ⋯ X.11 X.12 X.13 X.14 X.15 X.16\n", "1 NA ⋯ NA NA NA \n", "2 Prince NA Nova New Quebec ⋯ Saskat- NA Alberta NA British NA \n", "3 Edward NA Scotia Brunswick ⋯ chewan NA NA Columbia NA \n", "4 Island NA ⋯ NA NA NA \n", "5 4 NA 5 6 7 ⋯ 10 NA 11 NA 12 NA \n", "6 NA ⋯ NA NA NA \n", " X.17 X.18 X.19 X.20\n", "1 NA NA \n", "2 Yukon Northwest NA NA \n", "3 Territory Territories NA NA \n", "4 NA NA \n", "5 13 14 NA NA \n", "6 NA NA " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_old = read.csv(\"https://www150.statcan.gc.ca/n1/en/pub/11-516-x/sectiona/A2_14-eng.csv?st=L7vSnqio\")\n", "head(data_old)" ] }, { "cell_type": "markdown", "id": "183ca6b1", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Obviously, this does not make a lot of sense. This is normal: take a look at the first few lines in the file. They take the form\n", "```\n", ",Series A2-14.,\"Population of Canada, by province, census dates, 1851 to 1976\",,,,,,,,,,,,,,,,,,,,\n", ",,,,,,,,,,,,,,,,,,,,,,\n", ",Year,Canada,,Newfound-,Prince,,Nova,New,Quebec,Ontario, Manitoba,,Saskat-,,Alberta,,British,,Yukon,Northwest,,\n", ",,,,land,Edward,,Scotia,Brunswick,,,,,chewan,,,,Columbia,,Territory,Territories,,\n", ",,,,,Island,,,,,,,,,,,,,,,,,\n", ",,2,,3,4,,5,6,7,8,9,,10,,11,,12,,13,14,,\n", ",,,,,,,,,,,,,,,,,,,,,,\n", "```" ] }, { "cell_type": "markdown", "id": "c40d15fd", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This happens often: the first few lines are here to set the information, they lay out a simple version of the so-called *metadata*\n", "\n", "- The first line here does this; it is easy to deal with this: the function `read.csv` takes the optional argument `skip=`, which indicates how many lines to skip at the beginning\n", "- The second line is also empty, so let us skip it too" ] }, { "cell_type": "code", "execution_count": 4, "id": "241a052c", "metadata": { "scrolled": true, "slideshow": { "slide_type": "slide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 6 × 23
XYearCanadaX.1Newfound.PrinceX.2NovaNewQuebecSaskat.X.4AlbertaX.5BritishX.6YukonNorthwestX.7X.8
<int><chr><chr><int><chr><chr><int><chr><chr><chr><chr><int><chr><int><chr><int><chr><chr><int><lgl>
1NA NAland Edward NAScotia Brunswick chewan NA NAColumbia NATerritoryTerritoriesNANA
2NA NA Island NA NA NA NA NANA
3NA 2 NA3 4 NA5 6 7 10 NA11 NA12 NA13 14 NANA
4NA NA NA NA NA NA NANA
5NA197622,992,604NA557,725118,229NA828,571677,250 6,234,445921,323NA1,838,037NA2,466,608NA21,836 42,609 NANA
6NA NA NA NA NA NA NANA
\n" ], "text/latex": [ "A data.frame: 6 × 23\n", "\\begin{tabular}{r|lllllllllllllllllllll}\n", " & X & Year & Canada & X.1 & Newfound. & Prince & X.2 & Nova & New & Quebec & ⋯ & Saskat. & X.4 & Alberta & X.5 & British & X.6 & Yukon & Northwest & X.7 & X.8\\\\\n", " & & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n", "\\hline\n", "\t1 & NA & & & NA & land & Edward & NA & Scotia & Brunswick & & ⋯ & chewan & NA & & NA & Columbia & NA & Territory & Territories & NA & NA\\\\\n", "\t2 & NA & & & NA & & Island & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\t3 & NA & & 2 & NA & 3 & 4 & NA & 5 & 6 & 7 & ⋯ & 10 & NA & 11 & NA & 12 & NA & 13 & 14 & NA & NA\\\\\n", "\t4 & NA & & & NA & & & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\t5 & NA & 1976 & 22,992,604 & NA & 557,725 & 118,229 & NA & 828,571 & 677,250 & 6,234,445 & ⋯ & 921,323 & NA & 1,838,037 & NA & 2,466,608 & NA & 21,836 & 42,609 & NA & NA\\\\\n", "\t6 & NA & & & NA & & & NA & & & & ⋯ & & NA & & NA & & NA & & & NA & NA\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 6 × 23\n", "\n", "| | X <int> | Year <chr> | Canada <chr> | X.1 <int> | Newfound. <chr> | Prince <chr> | X.2 <int> | Nova <chr> | New <chr> | Quebec <chr> | ⋯ ⋯ | Saskat. <chr> | X.4 <int> | Alberta <chr> | X.5 <int> | British <chr> | X.6 <int> | Yukon <chr> | Northwest <chr> | X.7 <int> | X.8 <lgl> |\n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| 1 | NA | | | NA | land | Edward | NA | Scotia | Brunswick | | ⋯ | chewan | NA | | NA | Columbia | NA | Territory | Territories | NA | NA |\n", "| 2 | NA | | | NA | | Island | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "| 3 | NA | | 2 | NA | 3 | 4 | NA | 5 | 6 | 7 | ⋯ | 10 | NA | 11 | NA | 12 | NA | 13 | 14 | NA | NA |\n", "| 4 | NA | | | NA | | | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "| 5 | NA | 1976 | 22,992,604 | NA | 557,725 | 118,229 | NA | 828,571 | 677,250 | 6,234,445 | ⋯ | 921,323 | NA | 1,838,037 | NA | 2,466,608 | NA | 21,836 | 42,609 | NA | NA |\n", "| 6 | NA | | | NA | | | NA | | | | ⋯ | | NA | | NA | | NA | | | NA | NA |\n", "\n" ], "text/plain": [ " X Year Canada X.1 Newfound. Prince X.2 Nova New Quebec ⋯\n", "1 NA NA land Edward NA Scotia Brunswick ⋯\n", "2 NA NA Island NA ⋯\n", "3 NA 2 NA 3 4 NA 5 6 7 ⋯\n", "4 NA NA NA ⋯\n", "5 NA 1976 22,992,604 NA 557,725 118,229 NA 828,571 677,250 6,234,445 ⋯\n", "6 NA NA NA ⋯\n", " Saskat. X.4 Alberta X.5 British X.6 Yukon Northwest X.7 X.8\n", "1 chewan NA NA Columbia NA Territory Territories NA NA \n", "2 NA NA NA NA NA \n", "3 10 NA 11 NA 12 NA 13 14 NA NA \n", "4 NA NA NA NA NA \n", "5 921,323 NA 1,838,037 NA 2,466,608 NA 21,836 42,609 NA NA \n", "6 NA NA NA NA NA " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_old = read.csv(\"https://www150.statcan.gc.ca/n1/en/pub/11-516-x/sectiona/A2_14-eng.csv?st=L7vSnqio\",\n", " skip = 2)\n", "head(data_old)" ] }, { "cell_type": "markdown", "id": "02153393", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Here, there is the further issue that to make things legible, the table authors used 3 rows (from 2 to 4) to encode for long names (*e.g.*, Prince Edward Island is written over 3 rows). Note, however, that `read.csv` has rightly picked up on the first row being the column names" ] }, { "cell_type": "markdown", "id": "bda07fcf", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Because we are only interested in the total population of the country and the year, let us simply get rid of the first 4 rows and of all columns except the second (**Year**) and third (**Canada**)" ] }, { "cell_type": "code", "execution_count": 5, "id": "34a4f9c6", "metadata": { "slideshow": { "slide_type": "slide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 25 × 2
YearCanada
<chr><chr>
51976 22,992,604
6
71971 21,568,311
81966 20,014,880
91961 18,238,247
101956 16,080,791
111951 14,009,429
12
131941 11,506,655
141931 10,376,786
151921 8,787,949
161911 7,206,643
171901 5,371,315
18
191891 4,833,239
201881 4,324,810
211871 3,689,257
221861 3,229,633
231851 2,436,297
24
25Includes 485 members of the Royal Canadian Navy whose province of residence is not known.
26Included with Northwest Territories.
27For the discussion of the ambiguities and under-enumeration contained in these figures consult the notes to series A2-14 in original volume. For completeness of enumeration in censuses of 1961 and later years,
28see notes to series A15-53.
291848 figure.
\n" ], "text/latex": [ "A data.frame: 25 × 2\n", "\\begin{tabular}{r|ll}\n", " & Year & Canada\\\\\n", " & & \\\\\n", "\\hline\n", "\t5 & 1976 & 22,992,604\\\\\n", "\t6 & & \\\\\n", "\t7 & 1971 & 21,568,311\\\\\n", "\t8 & 1966 & 20,014,880\\\\\n", "\t9 & 1961 & 18,238,247\\\\\n", "\t10 & 1956 & 16,080,791\\\\\n", "\t11 & 1951 & 14,009,429\\\\\n", "\t12 & & \\\\\n", "\t13 & 1941 & 11,506,655\\\\\n", "\t14 & 1931 & 10,376,786\\\\\n", "\t15 & 1921 & 8,787,949 \\\\\n", "\t16 & 1911 & 7,206,643 \\\\\n", "\t17 & 1901 & 5,371,315 \\\\\n", "\t18 & & \\\\\n", "\t19 & 1891 & 4,833,239 \\\\\n", "\t20 & 1881 & 4,324,810 \\\\\n", "\t21 & 1871 & 3,689,257 \\\\\n", "\t22 & 1861 & 3,229,633 \\\\\n", "\t23 & 1851 & 2,436,297 \\\\\n", "\t24 & & \\\\\n", "\t25 & Includes 485 members of the Royal Canadian Navy whose province of residence is not known. & \\\\\n", "\t26 & Included with Northwest Territories. & \\\\\n", "\t27 & For the discussion of the ambiguities and under-enumeration contained in these figures consult the notes to series A2-14 in original volume. For completeness of enumeration in censuses of 1961 and later years, & \\\\\n", "\t28 & see notes to series A15-53. & \\\\\n", "\t29 & 1848 figure. & \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 25 × 2\n", "\n", "| | Year <chr> | Canada <chr> |\n", "|---|---|---|\n", "| 5 | 1976 | 22,992,604 |\n", "| 6 | | |\n", "| 7 | 1971 | 21,568,311 |\n", "| 8 | 1966 | 20,014,880 |\n", "| 9 | 1961 | 18,238,247 |\n", "| 10 | 1956 | 16,080,791 |\n", "| 11 | 1951 | 14,009,429 |\n", "| 12 | | |\n", "| 13 | 1941 | 11,506,655 |\n", "| 14 | 1931 | 10,376,786 |\n", "| 15 | 1921 | 8,787,949 |\n", "| 16 | 1911 | 7,206,643 |\n", "| 17 | 1901 | 5,371,315 |\n", "| 18 | | |\n", "| 19 | 1891 | 4,833,239 |\n", "| 20 | 1881 | 4,324,810 |\n", "| 21 | 1871 | 3,689,257 |\n", "| 22 | 1861 | 3,229,633 |\n", "| 23 | 1851 | 2,436,297 |\n", "| 24 | | |\n", "| 25 | Includes 485 members of the Royal Canadian Navy whose province of residence is not known. | |\n", "| 26 | Included with Northwest Territories. | |\n", "| 27 | For the discussion of the ambiguities and under-enumeration contained in these figures consult the notes to series A2-14 in original volume. For completeness of enumeration in censuses of 1961 and later years, | |\n", "| 28 | see notes to series A15-53. | |\n", "| 29 | 1848 figure. | |\n", "\n" ], "text/plain": [ " Year \n", "5 1976 \n", "6 \n", "7 1971 \n", "8 1966 \n", "9 1961 \n", "10 1956 \n", "11 1951 \n", "12 \n", "13 1941 \n", "14 1931 \n", "15 1921 \n", "16 1911 \n", "17 1901 \n", "18 \n", "19 1891 \n", "20 1881 \n", "21 1871 \n", "22 1861 \n", "23 1851 \n", "24 \n", "25 Includes 485 members of the Royal Canadian Navy whose province of residence is not known. \n", "26 Included with Northwest Territories. \n", "27 For the discussion of the ambiguities and under-enumeration contained in these figures consult the notes to series A2-14 in original volume. For completeness of enumeration in censuses of 1961 and later years,\n", "28 see notes to series A15-53. \n", "29 1848 figure. \n", " Canada \n", "5 22,992,604\n", "6 \n", "7 21,568,311\n", "8 20,014,880\n", "9 18,238,247\n", "10 16,080,791\n", "11 14,009,429\n", "12 \n", "13 11,506,655\n", "14 10,376,786\n", "15 8,787,949 \n", "16 7,206,643 \n", "17 5,371,315 \n", "18 \n", "19 4,833,239 \n", "20 4,324,810 \n", "21 3,689,257 \n", "22 3,229,633 \n", "23 2,436,297 \n", "24 \n", "25 \n", "26 \n", "27 \n", "28 \n", "29 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_old = data_old[5:dim(data_old)[1], 2:3]\n", "data_old" ] }, { "cell_type": "markdown", "id": "3c2c7b61", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Still not perfect: \n", "1. there are some empty rows;\n", "2. the last few rows need to be removed too, they contain remarks about the data;\n", "3. the population counts contain commas;\n", "4. it would be better if years were increasing.\n", "\n", "Let us fix these issues." ] }, { "cell_type": "markdown", "id": "03115ef9", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "For 1 and 2, this is easy: remark that the **Canada** column is empty for both issues. Now remark as well that below **Canada** (and **Year**, for that matter), it is written **< chr >**. This means that entries in the column are `characters`. Looking for empty content therefore means looking for empty character chains. " ] }, { "cell_type": "markdown", "id": "b5baf3ec", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- So to fix 1 and 2, we keep the rows where **Canada** does not equal the empty chain.\n", "\n", "- To get rid of commas, we just need to substitute an empty chain for \",\".\n", " \n", "- To sort, we find the order for the years and apply it to the entire table.\n", " \n", "- Finally, as remarked above, for now, both the year and the population are considered as character chains. This means that in order to plot anything, we will have to indicate that these are numbers, not characters." ] }, { "cell_type": "code", "execution_count": 6, "id": "96a251be", "metadata": { "scrolled": false, "slideshow": { "slide_type": "slide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 16 × 2
YearCanada
<dbl><dbl>
231851 2436297
221861 3229633
211871 3689257
201881 4324810
191891 4833239
171901 5371315
161911 7206643
151921 8787949
14193110376786
13194111506655
11195114009429
10195616080791
9196118238247
8196620014880
7197121568311
5197622992604
\n" ], "text/latex": [ "A data.frame: 16 × 2\n", "\\begin{tabular}{r|ll}\n", " & Year & Canada\\\\\n", " & & \\\\\n", "\\hline\n", "\t23 & 1851 & 2436297\\\\\n", "\t22 & 1861 & 3229633\\\\\n", "\t21 & 1871 & 3689257\\\\\n", "\t20 & 1881 & 4324810\\\\\n", "\t19 & 1891 & 4833239\\\\\n", "\t17 & 1901 & 5371315\\\\\n", "\t16 & 1911 & 7206643\\\\\n", "\t15 & 1921 & 8787949\\\\\n", "\t14 & 1931 & 10376786\\\\\n", "\t13 & 1941 & 11506655\\\\\n", "\t11 & 1951 & 14009429\\\\\n", "\t10 & 1956 & 16080791\\\\\n", "\t9 & 1961 & 18238247\\\\\n", "\t8 & 1966 & 20014880\\\\\n", "\t7 & 1971 & 21568311\\\\\n", "\t5 & 1976 & 22992604\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 16 × 2\n", "\n", "| | Year <dbl> | Canada <dbl> |\n", "|---|---|---|\n", "| 23 | 1851 | 2436297 |\n", "| 22 | 1861 | 3229633 |\n", "| 21 | 1871 | 3689257 |\n", "| 20 | 1881 | 4324810 |\n", "| 19 | 1891 | 4833239 |\n", "| 17 | 1901 | 5371315 |\n", "| 16 | 1911 | 7206643 |\n", "| 15 | 1921 | 8787949 |\n", "| 14 | 1931 | 10376786 |\n", "| 13 | 1941 | 11506655 |\n", "| 11 | 1951 | 14009429 |\n", "| 10 | 1956 | 16080791 |\n", "| 9 | 1961 | 18238247 |\n", "| 8 | 1966 | 20014880 |\n", "| 7 | 1971 | 21568311 |\n", "| 5 | 1976 | 22992604 |\n", "\n" ], "text/plain": [ " Year Canada \n", "23 1851 2436297\n", "22 1861 3229633\n", "21 1871 3689257\n", "20 1881 4324810\n", "19 1891 4833239\n", "17 1901 5371315\n", "16 1911 7206643\n", "15 1921 8787949\n", "14 1931 10376786\n", "13 1941 11506655\n", "11 1951 14009429\n", "10 1956 16080791\n", "9 1961 18238247\n", "8 1966 20014880\n", "7 1971 21568311\n", "5 1976 22992604" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_old = data_old[which(data_old$Canada != \"\"),]\n", "data_old$Canada = gsub(\",\", \"\", data_old$Canada)\n", "order_data = order(data_old$Year)\n", "data_old = data_old[order_data,]\n", "data_old$Year = as.numeric(data_old$Year)\n", "data_old$Canada = as.numeric(data_old$Canada)\n", "data_old" ] }, { "cell_type": "markdown", "id": "ac38ad95", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Row numbers are a little weird, so let us fix this." ] }, { "cell_type": "code", "execution_count": 7, "id": "f758e698", "metadata": { "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 16 × 2
YearCanada
<dbl><dbl>
11851 2436297
21861 3229633
31871 3689257
41881 4324810
51891 4833239
61901 5371315
71911 7206643
81921 8787949
9193110376786
10194111506655
11195114009429
12195616080791
13196118238247
14196620014880
15197121568311
16197622992604
\n" ], "text/latex": [ "A data.frame: 16 × 2\n", "\\begin{tabular}{r|ll}\n", " & Year & Canada\\\\\n", " & & \\\\\n", "\\hline\n", "\t1 & 1851 & 2436297\\\\\n", "\t2 & 1861 & 3229633\\\\\n", "\t3 & 1871 & 3689257\\\\\n", "\t4 & 1881 & 4324810\\\\\n", "\t5 & 1891 & 4833239\\\\\n", "\t6 & 1901 & 5371315\\\\\n", "\t7 & 1911 & 7206643\\\\\n", "\t8 & 1921 & 8787949\\\\\n", "\t9 & 1931 & 10376786\\\\\n", "\t10 & 1941 & 11506655\\\\\n", "\t11 & 1951 & 14009429\\\\\n", "\t12 & 1956 & 16080791\\\\\n", "\t13 & 1961 & 18238247\\\\\n", "\t14 & 1966 & 20014880\\\\\n", "\t15 & 1971 & 21568311\\\\\n", "\t16 & 1976 & 22992604\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 16 × 2\n", "\n", "| | Year <dbl> | Canada <dbl> |\n", "|---|---|---|\n", "| 1 | 1851 | 2436297 |\n", "| 2 | 1861 | 3229633 |\n", "| 3 | 1871 | 3689257 |\n", "| 4 | 1881 | 4324810 |\n", "| 5 | 1891 | 4833239 |\n", "| 6 | 1901 | 5371315 |\n", "| 7 | 1911 | 7206643 |\n", "| 8 | 1921 | 8787949 |\n", "| 9 | 1931 | 10376786 |\n", "| 10 | 1941 | 11506655 |\n", "| 11 | 1951 | 14009429 |\n", "| 12 | 1956 | 16080791 |\n", "| 13 | 1961 | 18238247 |\n", "| 14 | 1966 | 20014880 |\n", "| 15 | 1971 | 21568311 |\n", "| 16 | 1976 | 22992604 |\n", "\n" ], "text/plain": [ " Year Canada \n", "1 1851 2436297\n", "2 1861 3229633\n", "3 1871 3689257\n", "4 1881 4324810\n", "5 1891 4833239\n", "6 1901 5371315\n", "7 1911 7206643\n", "8 1921 8787949\n", "9 1931 10376786\n", "10 1941 11506655\n", "11 1951 14009429\n", "12 1956 16080791\n", "13 1961 18238247\n", "14 1966 20014880\n", "15 1971 21568311\n", "16 1976 22992604" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "row.names(data_old) = 1:dim(data_old)[1]\n", "data_old" ] }, { "cell_type": "markdown", "id": "b27f3803", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Well, that looks about right! Let's see what this looks like in a graph." ] }, { "cell_type": "code", "execution_count": 8, "id": "28fc0266", "metadata": { "scrolled": false, "slideshow": { "slide_type": "subslide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "plot(data_old$Year, data_old$Canada,\n", " type = \"b\", lwd = 2,\n", " xlab = \"Year\", ylab = \"Population\")" ] }, { "cell_type": "markdown", "id": "3a1dc6ac", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "But wait, this is only to 1976..! Looking around, we find another table [here](https://www12.statcan.gc.ca/census-recensement/2011/dp-pd/vc-rv/index.cfm?LANG=ENG&VIEW=D&TOPIC_ID=1&GEOCODE=01&CFORMAT=html). There's a download csv link in there, let us see where this leads us. The table is 720KB, so surely there must be more to this than just the population. To get a sense of that, we dump the whole data.frame, not just its head." ] }, { "cell_type": "code", "execution_count": 9, "id": "462e8627", "metadata": { "slideshow": { "slide_type": "slide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 9960 × 5
GEOGRAPHY.NAMECHARACTERISTICYEAR.S.TOTALFLAG_TOTAL
<chr><chr><chr><dbl><chr>
CanadaPopulation (in thousands) 1956 16081.0
CanadaPopulation (in thousands) 1961 18238.0
CanadaPopulation (in thousands) 1966 20015.0
CanadaPopulation (in thousands) 1971 21568.0
CanadaPopulation (in thousands) 1976 22993.0
CanadaPopulation (in thousands) 1981 24343.0
CanadaPopulation (in thousands) 1986 25309.0
CanadaPopulation (in thousands) 1991 27297.0
CanadaPopulation (in thousands) 1996 28847.0
CanadaPopulation (in thousands) 2001 30007.0
CanadaPopulation (in thousands) 2006 31613.0
CanadaPopulation (in thousands) 2011 33477.0
CanadaPopulation - % change 1956 to 1961 13.4
CanadaPopulation - % change 1961 to 1966 9.7
CanadaPopulation - % change 1966 to 1971 7.8
CanadaPopulation - % change 1971 to 1976 6.6
CanadaPopulation - % change 1976 to 1981 5.9
CanadaPopulation - % change 1981 to 1986 4.0
CanadaPopulation - % change 1986 to 1991 7.9
CanadaPopulation - % change 1991 to 1996 5.7
CanadaPopulation - % change 1996 to 2001 4.0
CanadaPopulation - % change 2001 to 2006 5.4
CanadaPopulation - % change 2006 to 2011 5.9
CanadaTotal private dwellings occupied by usual residents1996 10820050.0
CanadaTotal private dwellings occupied by usual residents2001 11562975.0
CanadaTotal private dwellings occupied by usual residents2006 12435520.0
CanadaTotal private dwellings occupied by usual residents2011 13320614.0
Canada% of the population aged 0 to 14 years 1921 34.4
Canada% of the population aged 0 to 14 years 1931 31.6
Canada% of the population aged 0 to 14 years 1941 27.8
Quebec Population share200124.1
Quebec Population share201123.6
Ontario Population share195132.8
Ontario Population share196134.2
Ontario Population share197135.7
Ontario Population share198135.4
Ontario Population share199136.9
Ontario Population share200138.0
Ontario Population share201138.4
Prairie ProvincesPopulation share195118.2
Prairie ProvincesPopulation share196117.4
Prairie ProvincesPopulation share197116.4
Prairie ProvincesPopulation share198117.4
Prairie ProvincesPopulation share199117.0
Prairie ProvincesPopulation share200116.9
Prairie ProvincesPopulation share201117.6
British Columbia Population share1951 8.3
British Columbia Population share1961 8.9
British Columbia Population share197110.1
British Columbia Population share198111.3
British Columbia Population share199112.0
British Columbia Population share200113.0
British Columbia Population share201113.1
Territories Population share1951 0.2
Territories Population share1961 0.2
Territories Population share1971 0.2
Territories Population share1981 0.3
Territories Population share1991 0.3
Territories Population share2001 0.3
Territories Population share2011 0.3
\n" ], "text/latex": [ "A data.frame: 9960 × 5\n", "\\begin{tabular}{lllll}\n", " GEOGRAPHY.NAME & CHARACTERISTIC & YEAR.S. & TOTAL & FLAG\\_TOTAL\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t Canada & Population (in thousands) & 1956 & 16081.0 & \\\\\n", "\t Canada & Population (in thousands) & 1961 & 18238.0 & \\\\\n", "\t Canada & Population (in thousands) & 1966 & 20015.0 & \\\\\n", "\t Canada & Population (in thousands) & 1971 & 21568.0 & \\\\\n", "\t Canada & Population (in thousands) & 1976 & 22993.0 & \\\\\n", "\t Canada & Population (in thousands) & 1981 & 24343.0 & \\\\\n", "\t Canada & Population (in thousands) & 1986 & 25309.0 & \\\\\n", "\t Canada & Population (in thousands) & 1991 & 27297.0 & \\\\\n", "\t Canada & Population (in thousands) & 1996 & 28847.0 & \\\\\n", "\t Canada & Population (in thousands) & 2001 & 30007.0 & \\\\\n", "\t Canada & Population (in thousands) & 2006 & 31613.0 & \\\\\n", "\t Canada & Population (in thousands) & 2011 & 33477.0 & \\\\\n", "\t Canada & Population - \\% change & 1956 to 1961 & 13.4 & \\\\\n", "\t Canada & Population - \\% change & 1961 to 1966 & 9.7 & \\\\\n", "\t Canada & Population - \\% change & 1966 to 1971 & 7.8 & \\\\\n", "\t Canada & Population - \\% change & 1971 to 1976 & 6.6 & \\\\\n", "\t Canada & Population - \\% change & 1976 to 1981 & 5.9 & \\\\\n", "\t Canada & Population - \\% change & 1981 to 1986 & 4.0 & \\\\\n", "\t Canada & Population - \\% change & 1986 to 1991 & 7.9 & \\\\\n", "\t Canada & Population - \\% change & 1991 to 1996 & 5.7 & \\\\\n", "\t Canada & Population - \\% change & 1996 to 2001 & 4.0 & \\\\\n", "\t Canada & Population - \\% change & 2001 to 2006 & 5.4 & \\\\\n", "\t Canada & Population - \\% change & 2006 to 2011 & 5.9 & \\\\\n", "\t Canada & Total private dwellings occupied by usual residents & 1996 & 10820050.0 & \\\\\n", "\t Canada & Total private dwellings occupied by usual residents & 2001 & 11562975.0 & \\\\\n", "\t Canada & Total private dwellings occupied by usual residents & 2006 & 12435520.0 & \\\\\n", "\t Canada & Total private dwellings occupied by usual residents & 2011 & 13320614.0 & \\\\\n", "\t Canada & \\% of the population aged 0 to 14 years & 1921 & 34.4 & \\\\\n", "\t Canada & \\% of the population aged 0 to 14 years & 1931 & 31.6 & \\\\\n", "\t Canada & \\% of the population aged 0 to 14 years & 1941 & 27.8 & \\\\\n", "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", "\t Quebec & Population share & 2001 & 24.1 & \\\\\n", "\t Quebec & Population share & 2011 & 23.6 & \\\\\n", "\t Ontario & Population share & 1951 & 32.8 & \\\\\n", "\t Ontario & Population share & 1961 & 34.2 & \\\\\n", "\t Ontario & Population share & 1971 & 35.7 & \\\\\n", "\t Ontario & Population share & 1981 & 35.4 & \\\\\n", "\t Ontario & Population share & 1991 & 36.9 & \\\\\n", "\t Ontario & Population share & 2001 & 38.0 & \\\\\n", "\t Ontario & Population share & 2011 & 38.4 & \\\\\n", "\t Prairie Provinces & Population share & 1951 & 18.2 & \\\\\n", "\t Prairie Provinces & Population share & 1961 & 17.4 & \\\\\n", "\t Prairie Provinces & Population share & 1971 & 16.4 & \\\\\n", "\t Prairie Provinces & Population share & 1981 & 17.4 & \\\\\n", "\t Prairie Provinces & Population share & 1991 & 17.0 & \\\\\n", "\t Prairie Provinces & Population share & 2001 & 16.9 & \\\\\n", "\t Prairie Provinces & Population share & 2011 & 17.6 & \\\\\n", "\t British Columbia & Population share & 1951 & 8.3 & \\\\\n", "\t British Columbia & Population share & 1961 & 8.9 & \\\\\n", "\t British Columbia & Population share & 1971 & 10.1 & \\\\\n", "\t British Columbia & Population share & 1981 & 11.3 & \\\\\n", "\t British Columbia & Population share & 1991 & 12.0 & \\\\\n", "\t British Columbia & Population share & 2001 & 13.0 & \\\\\n", "\t British Columbia & Population share & 2011 & 13.1 & \\\\\n", "\t Territories & Population share & 1951 & 0.2 & \\\\\n", "\t Territories & Population share & 1961 & 0.2 & \\\\\n", "\t Territories & Population share & 1971 & 0.2 & \\\\\n", "\t Territories & Population share & 1981 & 0.3 & \\\\\n", "\t Territories & Population share & 1991 & 0.3 & \\\\\n", "\t Territories & Population share & 2001 & 0.3 & \\\\\n", "\t Territories & Population share & 2011 & 0.3 & \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 9960 × 5\n", "\n", "| GEOGRAPHY.NAME <chr> | CHARACTERISTIC <chr> | YEAR.S. <chr> | TOTAL <dbl> | FLAG_TOTAL <chr> |\n", "|---|---|---|---|---|\n", "| Canada | Population (in thousands) | 1956 | 16081.0 | |\n", "| Canada | Population (in thousands) | 1961 | 18238.0 | |\n", "| Canada | Population (in thousands) | 1966 | 20015.0 | |\n", "| Canada | Population (in thousands) | 1971 | 21568.0 | |\n", "| Canada | Population (in thousands) | 1976 | 22993.0 | |\n", "| Canada | Population (in thousands) | 1981 | 24343.0 | |\n", "| Canada | Population (in thousands) | 1986 | 25309.0 | |\n", "| Canada | Population (in thousands) | 1991 | 27297.0 | |\n", "| Canada | Population (in thousands) | 1996 | 28847.0 | |\n", "| Canada | Population (in thousands) | 2001 | 30007.0 | |\n", "| Canada | Population (in thousands) | 2006 | 31613.0 | |\n", "| Canada | Population (in thousands) | 2011 | 33477.0 | |\n", "| Canada | Population - % change | 1956 to 1961 | 13.4 | |\n", "| Canada | Population - % change | 1961 to 1966 | 9.7 | |\n", "| Canada | Population - % change | 1966 to 1971 | 7.8 | |\n", "| Canada | Population - % change | 1971 to 1976 | 6.6 | |\n", "| Canada | Population - % change | 1976 to 1981 | 5.9 | |\n", "| Canada | Population - % change | 1981 to 1986 | 4.0 | |\n", "| Canada | Population - % change | 1986 to 1991 | 7.9 | |\n", "| Canada | Population - % change | 1991 to 1996 | 5.7 | |\n", "| Canada | Population - % change | 1996 to 2001 | 4.0 | |\n", "| Canada | Population - % change | 2001 to 2006 | 5.4 | |\n", "| Canada | Population - % change | 2006 to 2011 | 5.9 | |\n", "| Canada | Total private dwellings occupied by usual residents | 1996 | 10820050.0 | |\n", "| Canada | Total private dwellings occupied by usual residents | 2001 | 11562975.0 | |\n", "| Canada | Total private dwellings occupied by usual residents | 2006 | 12435520.0 | |\n", "| Canada | Total private dwellings occupied by usual residents | 2011 | 13320614.0 | |\n", "| Canada | % of the population aged 0 to 14 years | 1921 | 34.4 | |\n", "| Canada | % of the population aged 0 to 14 years | 1931 | 31.6 | |\n", "| Canada | % of the population aged 0 to 14 years | 1941 | 27.8 | |\n", "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", "| Quebec | Population share | 2001 | 24.1 | |\n", "| Quebec | Population share | 2011 | 23.6 | |\n", "| Ontario | Population share | 1951 | 32.8 | |\n", "| Ontario | Population share | 1961 | 34.2 | |\n", "| Ontario | Population share | 1971 | 35.7 | |\n", "| Ontario | Population share | 1981 | 35.4 | |\n", "| Ontario | Population share | 1991 | 36.9 | |\n", "| Ontario | Population share | 2001 | 38.0 | |\n", "| Ontario | Population share | 2011 | 38.4 | |\n", "| Prairie Provinces | Population share | 1951 | 18.2 | |\n", "| Prairie Provinces | Population share | 1961 | 17.4 | |\n", "| Prairie Provinces | Population share | 1971 | 16.4 | |\n", "| Prairie Provinces | Population share | 1981 | 17.4 | |\n", "| Prairie Provinces | Population share | 1991 | 17.0 | |\n", "| Prairie Provinces | Population share | 2001 | 16.9 | |\n", "| Prairie Provinces | Population share | 2011 | 17.6 | |\n", "| British Columbia | Population share | 1951 | 8.3 | |\n", "| British Columbia | Population share | 1961 | 8.9 | |\n", "| British Columbia | Population share | 1971 | 10.1 | |\n", "| British Columbia | Population share | 1981 | 11.3 | |\n", "| British Columbia | Population share | 1991 | 12.0 | |\n", "| British Columbia | Population share | 2001 | 13.0 | |\n", "| British Columbia | Population share | 2011 | 13.1 | |\n", "| Territories | Population share | 1951 | 0.2 | |\n", "| Territories | Population share | 1961 | 0.2 | |\n", "| Territories | Population share | 1971 | 0.2 | |\n", "| Territories | Population share | 1981 | 0.3 | |\n", "| Territories | Population share | 1991 | 0.3 | |\n", "| Territories | Population share | 2001 | 0.3 | |\n", "| Territories | Population share | 2011 | 0.3 | |\n", "\n" ], "text/plain": [ " GEOGRAPHY.NAME CHARACTERISTIC \n", "1 Canada Population (in thousands) \n", "2 Canada Population (in thousands) \n", "3 Canada Population (in thousands) \n", "4 Canada Population (in thousands) \n", "5 Canada Population (in thousands) \n", "6 Canada Population (in thousands) \n", "7 Canada Population (in thousands) \n", "8 Canada Population (in thousands) \n", "9 Canada Population (in thousands) \n", "10 Canada Population (in thousands) \n", "11 Canada Population (in thousands) \n", "12 Canada Population (in thousands) \n", "13 Canada Population - % change \n", "14 Canada Population - % change \n", "15 Canada Population - % change \n", "16 Canada Population - % change \n", "17 Canada Population - % change \n", "18 Canada Population - % change \n", "19 Canada Population - % change \n", "20 Canada Population - % change \n", "21 Canada Population - % change \n", "22 Canada Population - % change \n", "23 Canada Population - % change \n", "24 Canada Total private dwellings occupied by usual residents\n", "25 Canada Total private dwellings occupied by usual residents\n", "26 Canada Total private dwellings occupied by usual residents\n", "27 Canada Total private dwellings occupied by usual residents\n", "28 Canada % of the population aged 0 to 14 years \n", "29 Canada % of the population aged 0 to 14 years \n", "30 Canada % of the population aged 0 to 14 years \n", "⋮ ⋮ ⋮ \n", "9931 Quebec Population share \n", "9932 Quebec Population share \n", "9933 Ontario Population share \n", "9934 Ontario Population share \n", "9935 Ontario Population share \n", "9936 Ontario Population share \n", "9937 Ontario Population share \n", "9938 Ontario Population share \n", "9939 Ontario Population share \n", "9940 Prairie Provinces Population share \n", "9941 Prairie Provinces Population share \n", "9942 Prairie Provinces Population share \n", "9943 Prairie Provinces Population share \n", "9944 Prairie Provinces Population share \n", "9945 Prairie Provinces Population share \n", "9946 Prairie Provinces Population share \n", "9947 British Columbia Population share \n", "9948 British Columbia Population share \n", "9949 British Columbia Population share \n", "9950 British Columbia Population share \n", "9951 British Columbia Population share \n", "9952 British Columbia Population share \n", "9953 British Columbia Population share \n", "9954 Territories Population share \n", "9955 Territories Population share \n", "9956 Territories Population share \n", "9957 Territories Population share \n", "9958 Territories Population share \n", "9959 Territories Population share \n", "9960 Territories Population share \n", " YEAR.S. TOTAL FLAG_TOTAL\n", "1 1956 16081.0 \n", "2 1961 18238.0 \n", "3 1966 20015.0 \n", "4 1971 21568.0 \n", "5 1976 22993.0 \n", "6 1981 24343.0 \n", "7 1986 25309.0 \n", "8 1991 27297.0 \n", "9 1996 28847.0 \n", "10 2001 30007.0 \n", "11 2006 31613.0 \n", "12 2011 33477.0 \n", "13 1956 to 1961 13.4 \n", "14 1961 to 1966 9.7 \n", "15 1966 to 1971 7.8 \n", "16 1971 to 1976 6.6 \n", "17 1976 to 1981 5.9 \n", "18 1981 to 1986 4.0 \n", "19 1986 to 1991 7.9 \n", "20 1991 to 1996 5.7 \n", "21 1996 to 2001 4.0 \n", "22 2001 to 2006 5.4 \n", "23 2006 to 2011 5.9 \n", "24 1996 10820050.0 \n", "25 2001 11562975.0 \n", "26 2006 12435520.0 \n", "27 2011 13320614.0 \n", "28 1921 34.4 \n", "29 1931 31.6 \n", "30 1941 27.8 \n", "⋮ ⋮ ⋮ ⋮ \n", "9931 2001 24.1 \n", "9932 2011 23.6 \n", "9933 1951 32.8 \n", "9934 1961 34.2 \n", "9935 1971 35.7 \n", "9936 1981 35.4 \n", "9937 1991 36.9 \n", "9938 2001 38.0 \n", "9939 2011 38.4 \n", "9940 1951 18.2 \n", "9941 1961 17.4 \n", "9942 1971 16.4 \n", "9943 1981 17.4 \n", "9944 1991 17.0 \n", "9945 2001 16.9 \n", "9946 2011 17.6 \n", "9947 1951 8.3 \n", "9948 1961 8.9 \n", "9949 1971 10.1 \n", "9950 1981 11.3 \n", "9951 1991 12.0 \n", "9952 2001 13.0 \n", "9953 2011 13.1 \n", "9954 1951 0.2 \n", "9955 1961 0.2 \n", "9956 1971 0.2 \n", "9957 1981 0.3 \n", "9958 1991 0.3 \n", "9959 2001 0.3 \n", "9960 2011 0.3 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_new = read.csv(\"https://www12.statcan.gc.ca/census-recensement/2011/dp-pd/vc-rv/download-telecharger/download-telecharger.cfm?Lang=eng&CTLG=98-315-XWE2011001&FMT=csv\")\n", "data_new" ] }, { "cell_type": "markdown", "id": "89002f5c", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Haha, this looks quite nice but has way more information than we need (we just want the population of Canada). Also, the population of Canada is expressed in thousands, so once we selected what we want, we will need to multiply by 1,000.\n", "\n", "There are many ways to select rows. Let us proceed as follows: we want the rows where the geography is \"Canada\" and the characteristic is \"Population (in thousands)\". Let us find those indices of rows that satisfy the first criterion, those that satisfy the second; if we then intersect these two sets of indices, we will have selected the rows we want." ] }, { "cell_type": "code", "execution_count": 10, "id": "f116fdc1", "metadata": { "scrolled": true, "slideshow": { "slide_type": "subslide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1\n", "\\item 2\n", "\\item 3\n", "\\item 4\n", "\\item 5\n", "\\item 6\n", "\\item 7\n", "\\item 8\n", "\\item 9\n", "\\item 10\n", "\\item 11\n", "\\item 12\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1\n", "2. 2\n", "3. 3\n", "4. 4\n", "5. 5\n", "6. 6\n", "7. 7\n", "8. 8\n", "9. 9\n", "10. 10\n", "11. 11\n", "12. 12\n", "\n", "\n" ], "text/plain": [ " [1] 1 2 3 4 5 6 7 8 9 10 11 12" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "idx_CAN = which(data_new$GEOGRAPHY.NAME == \"Canada\")\n", "idx_char = which(data_new$CHARACTERISTIC == \"Population (in thousands)\")\n", "idx_keep = intersect(idx_CAN, idx_char)\n", "idx_keep" ] }, { "cell_type": "markdown", "id": "09172d01", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Yes, this looks okay, so let us keep only these." ] }, { "cell_type": "code", "execution_count": 11, "id": "12b87a3d", "metadata": { "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A data.frame: 12 × 5
GEOGRAPHY.NAMECHARACTERISTICYEAR.S.TOTALFLAG_TOTAL
<chr><chr><chr><dbl><chr>
1CanadaPopulation (in thousands)195616081
2CanadaPopulation (in thousands)196118238
3CanadaPopulation (in thousands)196620015
4CanadaPopulation (in thousands)197121568
5CanadaPopulation (in thousands)197622993
6CanadaPopulation (in thousands)198124343
7CanadaPopulation (in thousands)198625309
8CanadaPopulation (in thousands)199127297
9CanadaPopulation (in thousands)199628847
10CanadaPopulation (in thousands)200130007
11CanadaPopulation (in thousands)200631613
12CanadaPopulation (in thousands)201133477
\n" ], "text/latex": [ "A data.frame: 12 × 5\n", "\\begin{tabular}{r|lllll}\n", " & GEOGRAPHY.NAME & CHARACTERISTIC & YEAR.S. & TOTAL & FLAG\\_TOTAL\\\\\n", " & & & & & \\\\\n", "\\hline\n", "\t1 & Canada & Population (in thousands) & 1956 & 16081 & \\\\\n", "\t2 & Canada & Population (in thousands) & 1961 & 18238 & \\\\\n", "\t3 & Canada & Population (in thousands) & 1966 & 20015 & \\\\\n", "\t4 & Canada & Population (in thousands) & 1971 & 21568 & \\\\\n", "\t5 & Canada & Population (in thousands) & 1976 & 22993 & \\\\\n", "\t6 & Canada & Population (in thousands) & 1981 & 24343 & \\\\\n", "\t7 & Canada & Population (in thousands) & 1986 & 25309 & \\\\\n", "\t8 & Canada & Population (in thousands) & 1991 & 27297 & \\\\\n", "\t9 & Canada & Population (in thousands) & 1996 & 28847 & \\\\\n", "\t10 & Canada & Population (in thousands) & 2001 & 30007 & \\\\\n", "\t11 & Canada & Population (in thousands) & 2006 & 31613 & \\\\\n", "\t12 & Canada & Population (in thousands) & 2011 & 33477 & \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A data.frame: 12 × 5\n", "\n", "| | GEOGRAPHY.NAME <chr> | CHARACTERISTIC <chr> | YEAR.S. <chr> | TOTAL <dbl> | FLAG_TOTAL <chr> |\n", "|---|---|---|---|---|---|\n", "| 1 | Canada | Population (in thousands) | 1956 | 16081 | |\n", "| 2 | Canada | Population (in thousands) | 1961 | 18238 | |\n", "| 3 | Canada | Population (in thousands) | 1966 | 20015 | |\n", "| 4 | Canada | Population (in thousands) | 1971 | 21568 | |\n", "| 5 | Canada | Population (in thousands) | 1976 | 22993 | |\n", "| 6 | Canada | Population (in thousands) | 1981 | 24343 | |\n", "| 7 | Canada | Population (in thousands) | 1986 | 25309 | |\n", "| 8 | Canada | Population (in thousands) | 1991 | 27297 | |\n", "| 9 | Canada | Population (in thousands) | 1996 | 28847 | |\n", "| 10 | Canada | Population (in thousands) | 2001 | 30007 | |\n", "| 11 | Canada | Population (in thousands) | 2006 | 31613 | |\n", "| 12 | Canada | Population (in thousands) | 2011 | 33477 | |\n", "\n" ], "text/plain": [ " GEOGRAPHY.NAME CHARACTERISTIC YEAR.S. TOTAL FLAG_TOTAL\n", "1 Canada Population (in thousands) 1956 16081 \n", "2 Canada Population (in thousands) 1961 18238 \n", "3 Canada Population (in thousands) 1966 20015 \n", "4 Canada Population (in thousands) 1971 21568 \n", "5 Canada Population (in thousands) 1976 22993 \n", "6 Canada Population (in thousands) 1981 24343 \n", "7 Canada Population (in thousands) 1986 25309 \n", "8 Canada Population (in thousands) 1991 27297 \n", "9 Canada Population (in thousands) 1996 28847 \n", "10 Canada Population (in thousands) 2001 30007 \n", "11 Canada Population (in thousands) 2006 31613 \n", "12 Canada Population (in thousands) 2011 33477 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_new = data_new[idx_keep,]\n", "data_new" ] }, { "cell_type": "markdown", "id": "a30736ce", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "We want to concatenate this data.frame with the one from earlier. To do this, we need the two data frames to have the same number of columns and, actually, the same column names and entry types (notice that **YEAR.S.** in data_new is a column of characters). \n", "\n", "So what remains to do:" ] }, { "cell_type": "markdown", "id": "649bf6e0", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "1. Rename the columns in the pruned old data (data_pruned) to **year** and **population**. Personally, I prefer lowercase column names.. and **population** is more informative than **Canada**.\n", "2. Keep only the relevant columns in data_new, rename them accordingly and multiply population by 1,000 there.\n", "3. Transform year in data_new to numbers.\n", "4. We already have data up to and including 1976 in data_old, so get rid of that in data_new.\n", "5. Append the rows of data_new to those of data_pruned." ] }, { "cell_type": "code", "execution_count": 12, "id": "cc286223", "metadata": { "slideshow": { "slide_type": "subslide" }, "vscode": { "languageId": "r" } }, "outputs": [], "source": [ "colnames(data_old) = c(\"year\", \"population\")\n", "data_new = data_new[,c(\"YEAR.S.\",\"TOTAL\")]\n", "colnames(data_new) = c(\"year\", \"population\")\n", "data_new$year = as.numeric(data_new$year)\n", "data_new = data_new[which(data_new$year>1976),]\n", "data_new$population = data_new$population*1000\n", "\n", "data = rbind(data_old,data_new)" ] }, { "cell_type": "markdown", "id": "e3234223", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "OK, we are ready now!!" ] }, { "cell_type": "code", "execution_count": 13, "id": "5b69fa3d", "metadata": { "scrolled": true, "slideshow": { "slide_type": "subslide" }, "vscode": { "languageId": "r" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "plot(data$year, data$population,\n", " type = \"b\", lwd = 2,\n", " xlab = \"Year\", ylab = \"Population\")" ] }, { "cell_type": "markdown", "id": "2faad8cb", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "In case we need the data elsewhere, we can save it." ] }, { "cell_type": "code", "execution_count": 14, "id": "db34ba0e", "metadata": { "vscode": { "languageId": "r" } }, "outputs": [], "source": [ "write.csv(data, file = \"Canada_census.csv\")" ] } ], "metadata": { "celltoolbar": "Slideshow", "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": "4.3.1" } }, "nbformat": 4, "nbformat_minor": 5 }