Skip to content

Instantly share code, notes, and snippets.

@raov5
Last active August 22, 2017 02:49
Show Gist options
  • Save raov5/61b0c9913829bd308c9cb58b1a96d94a to your computer and use it in GitHub Desktop.
Save raov5/61b0c9913829bd308c9cb58b1a96d94a to your computer and use it in GitHub Desktop.
This notebook explores the main data structures in R.
Display the source blob
Display the rendered blob
Raw
{
"nbformat_minor": 1,
"metadata": {
"language_info": {
"codemirror_mode": "r",
"pygments_lexer": "r",
"name": "R",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"version": "3.3.2"
},
"kernelspec": {
"language": "R",
"name": "r-spark20",
"display_name": "R with Spark 2.0"
}
},
"cells": [
{
"execution_count": 3,
"source": "#@author: Venky Rao raove@us.ibm.com\n#@last edited: 13 Aug 2017\n#@source: materials, data and examples adapted from R in Action 2nd Edition by Dr. Robert Kabacoff",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"source": "# Data Structures in R",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 31,
"source": "#the first step in data analysis is the creation of a dataset. In R, this consists of 2 steps:\n# 1. selecting a data structure to hold your data; and\n# 2. entering or importing your data into the data structure.\n#This notebook provides an overview of the key data structures in R.",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"source": "## Vectors",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 3,
"source": "#Vectors\n#vectors are one-dimensional arrays that can hold numeric data, character data or logical data (can only be of 1 type)\n#the combine function \"c()\" is used to form the vector",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 5,
"source": "#numeric vector\na <- c(1, 2, 5, 3, 6, -2, 4)\na",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 1\n\\item 2\n\\item 5\n\\item 3\n\\item 6\n\\item -2\n\\item 4\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>1</li>\n\t<li>2</li>\n\t<li>5</li>\n\t<li>3</li>\n\t<li>6</li>\n\t<li>-2</li>\n\t<li>4</li>\n</ol>\n",
"text/plain": "[1] 1 2 5 3 6 -2 4",
"text/markdown": "1. 1\n2. 2\n3. 5\n4. 3\n5. 6\n6. -2\n7. 4\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 6,
"source": "#character vector\nb <- c(\"one\", \"two\", \"three\")\nb",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 'one'\n\\item 'two'\n\\item 'three'\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>'one'</li>\n\t<li>'two'</li>\n\t<li>'three'</li>\n</ol>\n",
"text/plain": "[1] \"one\" \"two\" \"three\"",
"text/markdown": "1. 'one'\n2. 'two'\n3. 'three'\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 7,
"source": "#logical vector\nc <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)\nc",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item TRUE\n\\item TRUE\n\\item TRUE\n\\item FALSE\n\\item TRUE\n\\item FALSE\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>TRUE</li>\n\t<li>TRUE</li>\n\t<li>TRUE</li>\n\t<li>FALSE</li>\n\t<li>TRUE</li>\n\t<li>FALSE</li>\n</ol>\n",
"text/plain": "[1] TRUE TRUE TRUE FALSE TRUE FALSE",
"text/markdown": "1. TRUE\n2. TRUE\n3. TRUE\n4. FALSE\n5. TRUE\n6. FALSE\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 8,
"source": "#single-element vectors are called \"scalars\". They are used to hold constants\n#eg f<- 3; g <- \"US\"; h <- FALSE",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 9,
"source": "#you can refer to elements of a vector using a numeric vector of positions within brackets. for example:\na[c(2, 4)] #refers to the 2nd and 4th elements of the vector \"a\"",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 2\n\\item 3\n\\end{enumerate*}\n",
"text/markdown": "1. 2\n2. 3\n\n\n",
"text/plain": "[1] 2 3",
"text/html": "<ol class=list-inline>\n\t<li>2</li>\n\t<li>3</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 10,
"source": "#some more examples:\na <- c(\"k\", \"j\", \"h\", \"a\", \"c\", \"m\")\na[3] #should return \"h\"",
"outputs": [
{
"data": {
"text/latex": "'h'",
"text/markdown": "'h'",
"text/plain": "[1] \"h\"",
"text/html": "'h'"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 11,
"source": "a[c(1, 3, 5)] #should return \"k\", \"h\" and \"c\"",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 'k'\n\\item 'h'\n\\item 'c'\n\\end{enumerate*}\n",
"text/markdown": "1. 'k'\n2. 'h'\n3. 'c'\n\n\n",
"text/plain": "[1] \"k\" \"h\" \"c\"",
"text/html": "<ol class=list-inline>\n\t<li>'k'</li>\n\t<li>'h'</li>\n\t<li>'c'</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 12,
"source": "a[2:6] #should return all elements from \"j\" to (and including) \"m\"",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 'j'\n\\item 'h'\n\\item 'a'\n\\item 'c'\n\\item 'm'\n\\end{enumerate*}\n",
"text/markdown": "1. 'j'\n2. 'h'\n3. 'a'\n4. 'c'\n5. 'm'\n\n\n",
"text/plain": "[1] \"j\" \"h\" \"a\" \"c\" \"m\"",
"text/html": "<ol class=list-inline>\n\t<li>'j'</li>\n\t<li>'h'</li>\n\t<li>'a'</li>\n\t<li>'c'</li>\n\t<li>'m'</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"source": "## Matrices",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 13,
"source": "#A matrix is a 2-dimensional array in which each element is of the same type (numeric, character or logical)\n#matrices are created using the matrix() function\n#general format\n# mymatrix <- matrix(vector, nrow = number_of_rows, ncol = number_of_columns,\n# byrow = T or F (default is F), \n# dimnames = list(char_vector_rownames, char_vector_colnames) )",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 15,
"source": "#examples:\ny <- matrix(1:20, nrow = 5, ncol = 4) #creates a matrix with 5 rows and 4 columns. \n #populates it with the numbers 1 through 20\n #populates it by column (i.e. populates col 1 first, followed by col 2 and so on)\ny",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{llll}\n\t 1 & 6 & 11 & 16\\\\\n\t 2 & 7 & 12 & 17\\\\\n\t 3 & 8 & 13 & 18\\\\\n\t 4 & 9 & 14 & 19\\\\\n\t 5 & 10 & 15 & 20\\\\\n\\end{tabular}\n",
"text/markdown": "1. 1\n2. 2\n3. 3\n4. 4\n5. 5\n6. 6\n7. 7\n8. 8\n9. 9\n10. 10\n11. 11\n12. 12\n13. 13\n14. 14\n15. 15\n16. 16\n17. 17\n18. 18\n19. 19\n20. 20\n\n\n",
"text/plain": " [,1] [,2] [,3] [,4]\n[1,] 1 6 11 16 \n[2,] 2 7 12 17 \n[3,] 3 8 13 18 \n[4,] 4 9 14 19 \n[5,] 5 10 15 20 ",
"text/html": "<table>\n<tbody>\n\t<tr><td>1 </td><td> 6</td><td>11</td><td>16</td></tr>\n\t<tr><td>2 </td><td> 7</td><td>12</td><td>17</td></tr>\n\t<tr><td>3 </td><td> 8</td><td>13</td><td>18</td></tr>\n\t<tr><td>4 </td><td> 9</td><td>14</td><td>19</td></tr>\n\t<tr><td>5 </td><td>10</td><td>15</td><td>20</td></tr>\n</tbody>\n</table>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 16,
"source": "#another example:\nz <- matrix(1:20, nrow = 5, ncol = 4, byrow = T) #creates a matrix with 5 rows and 4 columns. \n #populates it with the numbers 1 through 20\n #populates it by row (i.e. populates row 1 first, followed by row 2 and so on)\nz",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{llll}\n\t 1 & 2 & 3 & 4\\\\\n\t 5 & 6 & 7 & 8\\\\\n\t 9 & 10 & 11 & 12\\\\\n\t 13 & 14 & 15 & 16\\\\\n\t 17 & 18 & 19 & 20\\\\\n\\end{tabular}\n",
"text/markdown": "1. 1\n2. 5\n3. 9\n4. 13\n5. 17\n6. 2\n7. 6\n8. 10\n9. 14\n10. 18\n11. 3\n12. 7\n13. 11\n14. 15\n15. 19\n16. 4\n17. 8\n18. 12\n19. 16\n20. 20\n\n\n",
"text/plain": " [,1] [,2] [,3] [,4]\n[1,] 1 2 3 4 \n[2,] 5 6 7 8 \n[3,] 9 10 11 12 \n[4,] 13 14 15 16 \n[5,] 17 18 19 20 ",
"text/html": "<table>\n<tbody>\n\t<tr><td> 1</td><td> 2</td><td> 3</td><td> 4</td></tr>\n\t<tr><td> 5</td><td> 6</td><td> 7</td><td> 8</td></tr>\n\t<tr><td> 9</td><td>10</td><td>11</td><td>12</td></tr>\n\t<tr><td>13</td><td>14</td><td>15</td><td>16</td></tr>\n\t<tr><td>17</td><td>18</td><td>19</td><td>20</td></tr>\n</tbody>\n</table>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 18,
"source": "#another example:\ncells <- c(1, 26, 24, 68) #create a vector called \"cells\"\nrnames <- c(\"R1\", \"R2\") #create a vector called \"rnames\"\ncnames <- c(\"C1\", \"C2\") #create a vector called \"cnames\"\nmymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = T, dimnames = list(rnames, cnames))\nmymatrix # 2x2 matrix, populated by row, with row and column names",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|ll}\n & C1 & C2\\\\\n\\hline\n\tR1 & 1 & 26\\\\\n\tR2 & 24 & 68\\\\\n\\end{tabular}\n",
"text/markdown": "1. 1\n2. 24\n3. 26\n4. 68\n\n\n",
"text/plain": " C1 C2\nR1 1 26\nR2 24 68",
"text/html": "<table>\n<thead><tr><th></th><th scope=col>C1</th><th scope=col>C2</th></tr></thead>\n<tbody>\n\t<tr><th scope=row>R1</th><td> 1</td><td>26</td></tr>\n\t<tr><th scope=row>R2</th><td>24</td><td>68</td></tr>\n</tbody>\n</table>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 20,
"source": "#another example this time populated by columns:\ncells <- c(1, 26, 24, 68) #create a vector called \"cells\"\nrnames <- c(\"R1\", \"R2\") #create a vector called \"rnames\"\ncnames <- c(\"C1\", \"C2\") #create a vector called \"cnames\"\nmymatrix <- matrix(cells, nrow = 2, ncol = 2, dimnames = list(rnames, cnames))\nmymatrix # 2x2 matrix, populated by columns, with row and column names",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|ll}\n & C1 & C2\\\\\n\\hline\n\tR1 & 1 & 24\\\\\n\tR2 & 26 & 68\\\\\n\\end{tabular}\n",
"text/markdown": "1. 1\n2. 26\n3. 24\n4. 68\n\n\n",
"text/plain": " C1 C2\nR1 1 24\nR2 26 68",
"text/html": "<table>\n<thead><tr><th></th><th scope=col>C1</th><th scope=col>C2</th></tr></thead>\n<tbody>\n\t<tr><th scope=row>R1</th><td> 1</td><td>24</td></tr>\n\t<tr><th scope=row>R2</th><td>26</td><td>68</td></tr>\n</tbody>\n</table>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 21,
"source": "#you can identify rows, columns and elements of a matrix by using brackets and subscripts:\n# ith row of a matrix X, would be X[i,]\n# jth row of a matrix X, would be X[,j]\n#ijth element of a matrix X, would be X[i,j]",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 22,
"source": "#example:\nx <- matrix(1:10, nrow = 2) #2 row matrix populated by column with the numbers 1 through 10\nx",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{lllll}\n\t 1 & 3 & 5 & 7 & 9\\\\\n\t 2 & 4 & 6 & 8 & 10\\\\\n\\end{tabular}\n",
"text/markdown": "1. 1\n2. 2\n3. 3\n4. 4\n5. 5\n6. 6\n7. 7\n8. 8\n9. 9\n10. 10\n\n\n",
"text/plain": " [,1] [,2] [,3] [,4] [,5]\n[1,] 1 3 5 7 9 \n[2,] 2 4 6 8 10 ",
"text/html": "<table>\n<tbody>\n\t<tr><td>1 </td><td>3 </td><td>5 </td><td>7 </td><td> 9</td></tr>\n\t<tr><td>2 </td><td>4 </td><td>6 </td><td>8 </td><td>10</td></tr>\n</tbody>\n</table>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 23,
"source": "x[2,] #2nd row of x",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 2\n\\item 4\n\\item 6\n\\item 8\n\\item 10\n\\end{enumerate*}\n",
"text/markdown": "1. 2\n2. 4\n3. 6\n4. 8\n5. 10\n\n\n",
"text/plain": "[1] 2 4 6 8 10",
"text/html": "<ol class=list-inline>\n\t<li>2</li>\n\t<li>4</li>\n\t<li>6</li>\n\t<li>8</li>\n\t<li>10</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 24,
"source": "x[,5] #5th column of x",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 9\n\\item 10\n\\end{enumerate*}\n",
"text/markdown": "1. 9\n2. 10\n\n\n",
"text/plain": "[1] 9 10",
"text/html": "<ol class=list-inline>\n\t<li>9</li>\n\t<li>10</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 25,
"source": "x[1, 4] #element in the 1st row and 4th column (7)",
"outputs": [
{
"data": {
"text/latex": "7",
"text/markdown": "7",
"text/plain": "[1] 7",
"text/html": "7"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 26,
"source": "x[1, c(4,5)] #elements 4 and 5 in the first row. element 4 in row 1 = 7, element 5 in row 1 = 9",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 7\n\\item 9\n\\end{enumerate*}\n",
"text/markdown": "1. 7\n2. 9\n\n\n",
"text/plain": "[1] 7 9",
"text/html": "<ol class=list-inline>\n\t<li>7</li>\n\t<li>9</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 27,
"source": "#matrices are 2-dimensional but like vectors, can only contain elements of one type\n#if you need more than 2 dimensions, use arrays\n#if you need more than elements of one type, use data frames",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"source": "## Arrays",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 28,
"source": "#Arrays are similar to vectors but can have more than 2-dimensions\n#they are created using the array() function; the general syntax is as follows:\n# myarray <- array(vector, dimensions, dimnames)\n# where vector = data for the array; dimensions = numeric vector giving the max index for each dimension; and\n# dimnames = optional list of dimension labels",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 31,
"source": "#example: 3 dimensional array of numbers\ndim1 <- c(\"A1\", \"A2\")\ndim2 <- c(\"B1\", \"B2\", \"B3\")\ndim3 <- c(\"C1\", \"C2\", \"C3\", \"C4\")\nz <- array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3))\nz",
"outputs": [
{
"data": {
"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\\item 13\n\\item 14\n\\item 15\n\\item 16\n\\item 17\n\\item 18\n\\item 19\n\\item 20\n\\item 21\n\\item 22\n\\item 23\n\\item 24\n\\end{enumerate*}\n",
"text/markdown": "1. 1\n2. 2\n3. 3\n4. 4\n5. 5\n6. 6\n7. 7\n8. 8\n9. 9\n10. 10\n11. 11\n12. 12\n13. 13\n14. 14\n15. 15\n16. 16\n17. 17\n18. 18\n19. 19\n20. 20\n21. 21\n22. 22\n23. 23\n24. 24\n\n\n",
"text/plain": ", , C1\n\n B1 B2 B3\nA1 1 3 5\nA2 2 4 6\n\n, , C2\n\n B1 B2 B3\nA1 7 9 11\nA2 8 10 12\n\n, , C3\n\n B1 B2 B3\nA1 13 15 17\nA2 14 16 18\n\n, , C4\n\n B1 B2 B3\nA1 19 21 23\nA2 20 22 24\n",
"text/html": "<ol class=list-inline>\n\t<li>1</li>\n\t<li>2</li>\n\t<li>3</li>\n\t<li>4</li>\n\t<li>5</li>\n\t<li>6</li>\n\t<li>7</li>\n\t<li>8</li>\n\t<li>9</li>\n\t<li>10</li>\n\t<li>11</li>\n\t<li>12</li>\n\t<li>13</li>\n\t<li>14</li>\n\t<li>15</li>\n\t<li>16</li>\n\t<li>17</li>\n\t<li>18</li>\n\t<li>19</li>\n\t<li>20</li>\n\t<li>21</li>\n\t<li>22</li>\n\t<li>23</li>\n\t<li>24</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"source": "## Data frames",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 35,
"source": "#Data frames are like tables of data that you might see in Microsoft Excel or SPSS.\n#They can contain different types of data (numeric, character, logical)\n#data frames are created using the data.frame() function\n# mydataframe <- data.frame(col1, col2, col3, ...) where col1, col2, col3 and so on are column vectors of any data type\n# names for each column can be provided with the \"names\" function",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 36,
"source": "#creating a data frame: an example\npatientID <- c(1, 2, 3, 4)\nage <- c(25, 34, 28, 52)\ndiabetes <- c(\"Type1\", \"Type2\", \"Type1\", \"Type1\")\nstatus <- c(\"Poor\", \"Improved\", \"Excellent\", \"Poor\")\npatientdata <- data.frame(patientID, age, diabetes, status)\npatientdata",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|llll}\n patientID & age & diabetes & status\\\\\n\\hline\n\t 1 & 25 & Type1 & Poor \\\\\n\t 2 & 34 & Type2 & Improved \\\\\n\t 3 & 28 & Type1 & Excellent\\\\\n\t 4 & 52 & Type1 & Poor \\\\\n\\end{tabular}\n",
"text/html": "<table>\n<thead><tr><th scope=col>patientID</th><th scope=col>age</th><th scope=col>diabetes</th><th scope=col>status</th></tr></thead>\n<tbody>\n\t<tr><td>1 </td><td>25 </td><td>Type1 </td><td>Poor </td></tr>\n\t<tr><td>2 </td><td>34 </td><td>Type2 </td><td>Improved </td></tr>\n\t<tr><td>3 </td><td>28 </td><td>Type1 </td><td>Excellent</td></tr>\n\t<tr><td>4 </td><td>52 </td><td>Type1 </td><td>Poor </td></tr>\n</tbody>\n</table>\n",
"text/plain": " patientID age diabetes status \n1 1 25 Type1 Poor \n2 2 34 Type2 Improved \n3 3 28 Type1 Excellent\n4 4 52 Type1 Poor "
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 38,
"source": "#specifying elements of a data frame\npatientdata[1:2] # returns the first 2 columns of data",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|ll}\n patientID & age\\\\\n\\hline\n\t 1 & 25\\\\\n\t 2 & 34\\\\\n\t 3 & 28\\\\\n\t 4 & 52\\\\\n\\end{tabular}\n",
"text/html": "<table>\n<thead><tr><th scope=col>patientID</th><th scope=col>age</th></tr></thead>\n<tbody>\n\t<tr><td>1 </td><td>25</td></tr>\n\t<tr><td>2 </td><td>34</td></tr>\n\t<tr><td>3 </td><td>28</td></tr>\n\t<tr><td>4 </td><td>52</td></tr>\n</tbody>\n</table>\n",
"text/plain": " patientID age\n1 1 25 \n2 2 34 \n3 3 28 \n4 4 52 "
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 39,
"source": "patientdata[c(\"diabetes\", \"status\")] #returns data for the columns whose names are specified",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|ll}\n diabetes & status\\\\\n\\hline\n\t Type1 & Poor \\\\\n\t Type2 & Improved \\\\\n\t Type1 & Excellent\\\\\n\t Type1 & Poor \\\\\n\\end{tabular}\n",
"text/html": "<table>\n<thead><tr><th scope=col>diabetes</th><th scope=col>status</th></tr></thead>\n<tbody>\n\t<tr><td>Type1 </td><td>Poor </td></tr>\n\t<tr><td>Type2 </td><td>Improved </td></tr>\n\t<tr><td>Type1 </td><td>Excellent</td></tr>\n\t<tr><td>Type1 </td><td>Poor </td></tr>\n</tbody>\n</table>\n",
"text/plain": " diabetes status \n1 Type1 Poor \n2 Type2 Improved \n3 Type1 Excellent\n4 Type1 Poor "
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 40,
"source": "patientdata$age #returns the age variable in the data frame",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 25\n\\item 34\n\\item 28\n\\item 52\n\\end{enumerate*}\n",
"text/markdown": "1. 25\n2. 34\n3. 28\n4. 52\n\n\n",
"text/plain": "[1] 25 34 28 52",
"text/html": "<ol class=list-inline>\n\t<li>25</li>\n\t<li>34</li>\n\t<li>28</li>\n\t<li>52</li>\n</ol>\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 41,
"source": "#the $ notation is used to indicate a particular variable from a given data frame.\n#for example, if you want to tabulate the diabetes types with the status, you can do it as follows:\ntable(patientdata$diabetes, patientdata$status)",
"outputs": [
{
"data": {
"text/plain": " \n Excellent Improved Poor\n Type1 1 0 2\n Type2 0 1 0"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 43,
"source": "#typing patientdata$ can get tiresome so short cuts are available\n#you can use attach(), detach() or with() to simplify your code\n#for example:\nsummary(mtcars$mpg)\nplot(mtcars$mpg, mtcars$disp)\nplot(mtcars$mpg, mtcars$wt)\n#can also be written as:\nattach(mtcars)\n summary(mpg)\n plot(mpg, disp)\n plot(mpg, wt)\ndetach(mtcars)\n#can also be written as:\nwith(mtcars, {\n print(summary(mpg))\n plot(mpg, disp)\n plot(mpg, wt)\n})",
"outputs": [
{
"data": {
"text/plain": " Min. 1st Qu. Median Mean 3rd Qu. Max. \n 10.40 15.42 19.20 20.09 22.80 33.90 "
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////isF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3dCXwTZf748Yfe0NBSWku5jwJFQAX8AWIBEVbkB4ooiMqNwK6rouIiuOqqKx4c67p/xXNRWVh1QZQV7/vAawEP9OeqiBQ5ReSUq1fmn2TCaUiTzjfzzCSf9+u1mZFO83w35EPbZJooA4BlSvcAQDwgJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAE2hPT5CsBVPo/+Xh77kJYrwGWWR303j31IH6jSmK8BCCpVH0T9OYQEHIOQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBLgrpJVT+/efujLmywPRclVIdyX3vO66nsl3xXx9IEpuCunptGf9m2fTFsV8ACA6bgqp42RzO7lTzAcAouOikH5RH5k7H9bYE/MJgKi4KKRN6ltz5xu1KeYTAFFxUUhlGS+aOy9klMV8AiAqLgrJGNzX699UnjU45gMA0XFTSN9kD9tsGJuHZX8b8wGA6LgpJOOT9qpZM9X+k5ivD0TJVSEZlZ/MnbuiMubLA9FyV0iAQxESIICQAAGEBAggJEAAIQEC3BXS9rnXXTd3e8yXB6LlqpAWZRcMGFCQza8jwXHcFNLS1DvKDaP8jtT3Yz4AEB03hdRrtLkdfWbMBwCi46KQ9ie/be68lbw/5hMAUXFRSBsP/mLft2pjzCcAouKikA59RXqTr0hwGheFZPQeZW5H9Y75AEB03BTS+6nTygyjbFpq9CMDseWmkIxn69Tr169enWdjvj4QJVeFZOyYN2XKvB0xXx6IlrtCAhyKkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhFSlJ8/M9XSe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"
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"text/plain": " Min. 1st Qu. Median Mean 3rd Qu. Max. \n 10.40 15.42 19.20 20.09 22.80 33.90 "
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"image/png": "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tFl9b258pzZHfAKgQlwU0k61wtxYrnZGfAKgQlwUkpEzyVwnNY34AEDFuCmkf9QMfcbYVzUfivgAQMW4KSTfRVVHT59+ddVhvLMdnMZNIRnGK+dkZ/d5JeK7ByrKXSEBDkVIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgTYGtKi/wVO/M92Tavba66/tCsSElzG1pBUz0BHFyqVXFepEaWVREhwGdtDelll/MtnbB2sZpRyRUKCy9ge0iD1cnDzQOMzjr50/S/FZhMS3MX2kE5Sv4W2L6551IU/q8Ptq+w+AB1sD6m/Wh3aHtTk6Es3HPqOdK/6vbL7AHSwN6QWC1Z/qMYHN3+tPrCUKz5JSHAXe0MKSI5TKwzjmXrq3VKuSEhwGVtD2rVs1oRLTs1caBg5SY+WdkVCgsvoeGaD3zDe3FLqNQgJLuPMpwgRElyGkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAghJWtGPH6zVPQNsR0iy/A+kqziVM1f3HLAZIcm6vsajG3w/3RY/XfcgsBchifo89sPQ+mDqDs2TwF6EJOrGHuZamPGi3kFgM0ISdd5fwxvd7tY6B+xG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"
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"image/png": "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"
},
"output_type": "display_data",
"metadata": {}
},
{
"name": "stdout",
"output_type": "stream",
"text": " Min. 1st Qu. Median Mean 3rd Qu. Max. \n 10.40 15.42 19.20 20.09 22.80 33.90 \n"
},
{
"data": {
"image/png": "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rLZHfAIgJDYKaY9aaW5WqD0RnwAIiY1CMrIfNteH60V8ACA0dgrp8fK+9xj7rvwTER8ACI2dQnJdW3rItGk3l+7DK9sh2tgpJMN49bKsrEtfjfjhgVDZKyQgShESIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGWhrT4e8+F+6U2GdU6zXcXdUNCgs1YGpLq6OnoGqVSqynVv6iSCAk2Y3lIr6iK/3UZO3uqGUXckJBgM5aH1EO94t0eqXNR4Y9u+u2YuYQEe7E8pHPUH779deULfXCtOtGhkh4D0MHykLqp9b59j7qFP7rl+FekMepASY8B6GBtSI0Wrv9EPeDdbi57dRE3fI6QYC/WhuSRmqBWGsaL1dX7RdyQkGAzloa0d/ns0f3Or7TIMLJTni7qhoQEm9HxyAa3Yby9o8hbEBJsJjofIkRIsBlCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRpBas/3qh7BliOkGS5J2aqBJU9X/ccsBghybq13NNbXGvuSZymexBYi5BEfR3/iW99LP1PzZPAWoQk6o4O5ppfcZbeQWAxQhJ15W3+TdsHtc4BqxGSqB6D/Ztzx2mdA1YjJFGPZBf41u1JH2meBNYiJFE7yw93e5acLk0LdI8CSxGSrPfKXDj+lYca1FilexBYi5CErR1ybpU29+3WPQYspiekPfuK/riNQ0Js0hOSalj0xwkJNkNIgABLQ1InKeKGhASbsTSkzkrVa+ilkjwXhT64/77hx3QmJNiLpSG5Hklsv8l3DwG+tdvR5eJjGqv9JT0GoIPFPyMty854w+BnJDiO1b9s2N9HDTxISHAa639rN6NMgxWEBIfR8Ovv1c2TCAkOo+PfkXLvvWxw0bcgJNgMj7UDBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEFNU2LPo+V/cMCEZMh7T/tZGjXj9kxZFKZmEDVUqVfTBf9xwoXiyHtCAz46L26ZXfs+BQJTI38c617j+mVeyjexAUL4ZDWpo08ohh5NyVsiLyxyqJQ5Ue8q3fJH2geRIUL4ZDat/XXK+6NPLHKom30g6bm+7X6x0EQYjdkA7Gf2puFiZH5w8hTzT1b0a10zkGghK7IW1Q68zNj2pnxA9WEpPr+zd3/03rHAhG7Ia0P+5zc7MoMS/iByuJlXFrfKu76f2aJ0HxYjck47ybzbVfx8gfq0TatfW9TOZDpX/XPQmKFcMhfZD4pMswXOMSF0f+WCWyuUGte2eOa5c6X/cgKF4Mh2RML13n6u61ys4J5e+43xrSscd4i36oOjC2Y40WQ3jzPzuI5ZCM7c8OuWVySFEc7lKq2/2D62d+HKmRYFMxHVLoBtZe7bksuLXcFt2TILoQUii2JSzyra6m/9Y8CaIMIYXijfIuc/PAhXoHQbQhpFBMre3fPHmW1jkQdQgpFItKHTQ3Q6P08XnQhZBCkZM5wbfuzJwc8t/N/+KFmd9KD4RoQUghmZY08YhhrGh6bsiPKvqkbnx2TdXy10hMBf0IKTRTKySdnhnX7Y9Q/95XKf/cbRgbulTh9+bOREghOvTxpLm/hf7XLrzWt+Sde5PwPIgOhGSJnXFfm5spVfUOggghJEt8q/aYm8/iovNZhAgTIVlinfJ/O/hmmt5BECGEZAl3zfHmpi/PdnUmQrLGpDTfA8ZfSPxU9ySICEKyyLD4i4ff1iL5ed1zIDIIySpfDevc9b41uqdAhBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCCmwRZdnlW05+tCJVy3pVift3BH7dE2EqEZIAY1O7D99wZiaZ+46ftVTCb2mvP1wdvZmfVMhehFSIJ8kLPAue86+5thV3yTM9C4HL7xE00yIaoQUyDU9zPWz+G1HrxrUyVx/ULyDHk5FSIHU9z8j3FXq/aNXtRzn31R+VcNAiHaEFEjWNP+mzFtHrzr7Mf+m5gzr50HUI6RALrnVXFcf/z7umr7muj3+Sx0TIcoRUiDTy/pepcR9dctjVy0oZb4ny8CG5pv2rX/sxqHP79EwG6ISIQXiuqzKlPV7P+tS7pvj1/WuMGntvs97pC7x/enRpMa9u1ersFDTgIg2hBRQ7gMZSsVf8vMJVxU8XEmpuLYrfH+YlfyK5zL/3yk/aBkPUYeQ/oJ7/TeHC1+3caX/nS+Nug+a66U9rJsI0SzskNRMcx1TRWQeUxSEVKTf1Fpz83JFvYMgWkiFlN8/SWYgn2gP6Wvl/9L0cbxb7ySIEuGFlKWOyxacKtpD2qh+MTfTeN8w+IQXUoeGDVWVhj7N3hScKtpDMs64w7e42wzQPAiihNjPSKKiPqR3EifkGca+AenrdE+C6BB2SJ2e2iA2zDFRH5LxcrnMDuel1Qn3UQ55z3U/o8Od1Gh/4X9FUurMEV+6xAbyif6QjD1zRo59OzfMO/mzZebNT93fKm2ByEjQKOyQNs/oV0OpStfPP/hXNy8BG4QkottZOzyX7lGlI/BVHZaS+AdZ96pnr8pUpWQG8onmkHJ/3FX8jYqzffj5VVvdvlR97fuTu/ndRz/wVrf6dS+f7f+d+v7RF1U9Z9Av4R8OEScXkuTjHaI3pB8uSVSqxhNhfiv7baUmY14e2zytgv/PI9uaq3tI8oDnX7ypdI8C759+r1f7/pcndEh5I7yDwQphh7RxWt/qSmVePXmt2ExRHNKXaVd+vP3HieWuD+tejmT3yvMsBe0S95tXTDjXXKekfe5dfsz0PYuwTTvfWfi/0hvDOhqsIPDLhtRO41bEyC8bXKf3963LksJ62PfrZc3XInon7hnziuuvMtemI8z1ieqeb+5WxJn/b3KffV84B4MlBEKqN2TuTrF5TNEa0lfxW81N757h3M09/td/OJLSwrf+lmY+fT037jPzA7+qLYYxub7/5nd3DudgsETYIa2e3LOKUk2GztstNlP0hjSjpn8zsVk4d3Pblf5N+/h7txlH3srqbP52Yb9abl6/Uf3m+bLU1H+rUe3CORgsIfLLhl8mXX2aipMZyCdaQ3rl6EPcx7UI526eyvb/Wq5Z7yxVITH5lqMvRFl5qrm+nZrjuUjzP4+j2w3hHAyWEHk+0m/Pdc9Q8SLzmKI1pJ+PPlj17wPDuZvNKdN965uJvxb8NG/x8Ses33q671/jclv38lwerjTKd+WKxEXhHAyWCDuk3a8PrqtU+Z6z/hCbKXpDMtpflONdXotfHtbdPJY8eoPx+4TUBwpd/0f9Fh8dzFnSvtrv3j+9kXjbKteOlzL7hnUsWCLskOKUajTsk3yxgXyiNqQNWY0fXzS7f8KEMO9nZk2VqKpMPuX67T3i4xLiuvgf6PBeI8+t0scIn1xEQtghXfy45D8g+UVtSMbuO5skVb3so7Dvx73uo7UB/83gwNef7z3+p00f/0xGtsBrNgACCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGE5FA77m51WrObIvBSaQiIkJzpxypNxs6deGGZD3QPEisIyZHyGl/lfSsz910VJF9JGn+NkBzpnRTzXXbyaz8ud6d5P326Q+7eHIaQHOmhC/2bAddJ3WXuiDIqQZ29ROr+HIaQHGnExf7NkGuE7tHdtcrMnfk/3Jj8odAdOgwhhWvrBws36J7hFFOrFJibC+4VusfXU823hvpXnQKhe3QWQgrP75eqlDKq9Y+65yjkj7JP+tZ3478Tusdu/jdy35UQ+idMLCCksOys3WZZgfunf2Ss0j1JIS8l3rOqYP2jafdI3WHTo7+1qDVd6i4dhZDCMvRM3/u8ujpdrnuSwubXU0pVftZdzM0OL53y1qZg7q/VWP/mtDnhDeZQhBSWylPM9aOk6Bt4y2frisvImHFaQt2y8X32Fnc7w/hne3Nd4X3DdZyCkMJxWH1pbrYdfZdme5mWNP6gYSxu1Kb4XyD8lPisd9nbokvEp7IlQgqH6+gbjq9WG/VOUiKHK5jvhbslPYife6YkdXny5RHVm/BvsgERUljOv9VcH6te7HdRUejd1EPmZlDXIG79Tb+zqnR4+FBEJ7IvQgrLG8kLvcvy8hN1T1ISz9f3byY01zqHExBSeEYmdB33aO/k6wO+Q3m0m32af3Nfe61zOAEhhWnJDS2b9Xlb9xQl83vcYt/qOnOE5knsj5BiWZ8G3kc3FdxebqvuSWyPkGLZgY5pvUf/q3HGR7oHsT9CimmuV288v9vo7brHcABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIsDakLf9sfeGz7rWdytTosbmo2xESbMbSkDZkKI8Jp6ty5VXFol5Eg5BgM5aGdJ0av3tVu3g1wuV+Ud1SxA0JCTZjaUh1OngulqrUXM9ywelF3JCQYDOWhpQyyHOxSWV79wNTCn1wXaWMY0qr/SU9BqCDpSE19L7qU8Gzs737yysW+qDrrdeOGchXJNiLpSENUfcd/RXD14lXFHFDvrWDzVga0u56So3zbnZ1TEz4sogbEhJsxtp/Rzo8oduL3nV9fOtPirodIcFm9DyyIf9I0R8nJNgMDxECBBASIICQAAGEBAggJEAAIQECCAkQQEgOs7v4NyhHBBCSk6zrVVGVaj1f9xixiJAcZGX5dnO+X3R70kO6B4lBhOQcria9fO8JvSB+me5RYg8hOceShG3mptPNegeJRYTkHJMb+DcPttU6R0wiJOcgJI0IyTmWJPjfVbkz39pZjpCcw3VGb7d3fYtfNliPkBxkRfpFc3/68M6kB3UPEoMIyUnW9qigklu+oXuMWERIDrMzX/cEsYmQAAGEBAggJMfK/eWg7hFiCCE51OILElXcWfzewSqEZBv7Jw/ufu/iIG88L3HAZ1u/ujtxQkRHwjGEZBdfVa/aY2iHhD55wdx4X6b5b0mzk1ZFdCgcRUg2sTNzgPflaVdWuS2YW8/K9PfW/IHIjYQTEJJNjGxsPof8raRdQdz6/g7+zU09IjYRTkRINtHmfnMtKPdmELce1c6/ufHaCM2DkxGSTZz5pH9Te2oQt55fxjyBrobjIjUQTkJINtHpDnM9nPJeELfOyRroeyD4uDJbIjgTjiMkm3iyyl7fOin9UDA3/7xs2ymLX+6WNCeiQ+EYQrKJnDNar/H8hPRSyjPB3f63fnXiqnVbHtmhcAwh2cWWDvH1WmeUfiz4v8HjwC1ESPax8oWx8/7QPQQCIyRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIjvLB3VcMep5zpwEhOUhO16TOt/esUmul7kFiECE5yA1ZP3suD19bZY/uSWIPITnH7/H/8625dR/WO0gsIiTnmFXZv7nj71rniEmE5BxPN/Fvxp6ndY6YREjO8Ua6/8nlA7vpHSQWEZJz7Emb6lt3ZEzVOkdMIiQHeaT0DJdh/NisBS97YjlCcpJxqeVb1VZdgnl1cMgiJEfZNX/ctB90DxGTCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQnGtJ16yUZnf/qXuM2EBIjvVMQq9pCyc0ytqge5CYQEhO9X3CdO+S06Gt7kliAiE51T87mOsqxROULEBITnX+GP+mxgytc8QIQnKqFuP9m7ovaZ0jRhCSU/Xpaa67EpfoHSQ2EJJTvZe0zLcOrlegeZKYQEiOdX36E6v+XNIj5TPdg8QEQnIs18SqSsW3XaF7jthASE629btDukeIFYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhxTT3u7df2v+JPbrHcABCimU5VyZ3uat/zSqf6x7E/ggplg3M+tVzmTswc6fuSWyPkGLYlvgPfWt+o1GaJ7E/QophczLd5ubfHfQO4gCEFMOeb+DfPHqO1jmcgJBi2DtpR8zNkMv1DuIAhBTDDqY/41t3VnhB8yT2R0ixbFKp5/IN47uzz83TPYntEVJMe7ps6abV1BW7dM9hf4QU2/a8O/GVX3QP4QSEBAggJEAAIQECCAkQQEiAAEICBBASYOzdEu49EBJiXf642kqVH7A9rDshJMS4gisqPr5izZzmNX8P514ICTHuhXKrvcuRC64M514ICTHu/OHmujghnIccEhJiXMY8c82NC+ddqwkJMS7zdXPNUV+EcS+EhBjX/lZz/SApnNf3IyTEuFdSfe9Xvf/sa8O5F0JCBLjXvLloh+4hguQekHbv+4ufqtc4rKc3EhLkfXGmyigVf5VNXnbSPbVFakL94fvDuhNCgrivUgesM/KXnnOGbf4ruo6Eew+EBHEt+/iWvVkPaR7EQoQEaRvUj+bm4bP0DmIlQoK0T+MLzM2CcnoHsRIhQdoytc/czKqqdxArERKk5ZSdZW56/kPvIFYiJIi7p6rvpfJmJCzWPYl1CAnicv9Rut/EMZckPq17EAsREuS5X+999oVDvtU9hpUICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEWBvSzv5Z6Zf6XvzI6FjUvRASbMbSkHZWVSnpKuV9756Q4CSWhnSzuic3b0FaRe870RASnMTSkOqf4/ZcvqOuNwKElD/vtWMGEhLsxdKQkgf6lj7xPwUIaUP9usdUVjklPQagg6UhVT3Pt2wq0yq36G/tlqrckh4D0MHSkPoq88nHz6l/FRASnMTSkNZlqGren4/cfVR2dUKCg1j770ire6ZleVfX6ExFSDEuZ+WiTbpnkGP1Ixvc/tcOzFk6s4hbEZLjHb4jVZVSZ32mew4p0fkQIUJyOlfnmq/vdf0yKPkj3ZMIISToMLPsOt86tJ5L8yRCCAk6XDbEXHfEf6V3ECmEBB0aT/JvqszWOocYQoIOzSaYq7vcfL2DSCEk6DD4YnNdGrdZ7yBSCAk6/JD4rHfZdebVuicRQkjQYkrS3ydMH1ap+Z+6BxFCSNDjuxubZ3V+Mux3E48WhAQIICRAACEBAggJEEBIQLB2Tr7llsk7A36IkIAgvVymVvfutcq8EuhjhAQE53+Jj7oMwzUh8ZMAHyQkIDhtbjTXG9oG+CAhAUE5HO//SvRJfIAXiyMkIChb1Cpzs0ptOfWjhAQE5Uii/2nxHyYGeGATIQHBuaS3ufa6JMAHCQkIzlfJIzxfio7cmxzo2fGEBATp7YoZHTpknPZ2oI8REhCsA3NHjpwb+I1SCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAfJ+XrGBzu0HJmQ4BwzK8XVSEkcdFDDoQkJjjE16eF9RsGiup3c1h+bkOAUBzMm+tZ1aa9Zf3BCglMsSPO/b1G/ntYfnJDgFE+f4d/8p7X1ByckOMX0Gv7N8EDvuxJhhASnWKOW+9aCMx6w/uCEBMfoduZWz6Xr9vRt1h+bkOAYe85PHzD+zjMyPtJwbEKCc+RP79Oyy6itOg5NSIAAQgIEEBIggJAAAYQEBznw0bNvbNRyZEKCczxXPrlxRlzvvRoOTUhwjEmlnvZ83nzRqE2B9ccmJDjF/nKTfOvmcrOsPzghwSneLOv/rLn+ausPTkhwimNPoxjL0yj8CAmhm1HNv7mrs/UHJyQ4xbq4z31rfoPR1h+ckOAYvRus91zmDcrcZf2xCQmOceDi0lc/MLhupdA/pcNHSHAO1xs3XdRzwm4dhyYkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQEB0hrRMATazLORP88iHZHy7/ER9m8yMCkPK657A9B/1nO4RfGaoEbpHMFUftly7b0P/LLcgpJON0PB274G8UlX3BKbvlJaXJTiFS32qewTT6c/onqBECEkzQiqEkIJDSCcjpEIIKTiEdDJCKoSQgkNIJyOkQggpOIR0MkIqhJCCQ0gnI6RCCCk4hHQyQiqEkIJDSCcjpEIIKTiEdDJCKoSQgjPqMquPGNjrWbonMP0St1/3CD7upC90j2A6+wXdE5SI5SEd2GH1EQPL36h7Ar/fdA/gt86tewLTJns+WcDykAAnIiRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABVoZ0e0NzdT/dqmzLp/Q9j8w/x17/Ow8s1jLE+n7VSjW4ead3q/d8HB9E7wn585bGqdn9fE+31P0JUhIWhrS1oj+koapOn9pqqHVHDjzHctWoo9f3OoZYnaFaDTxHVfV+Ams9HycMovWE5NRXzQdepCpsMbR/gpSIVSHlzb+/ujI/gdfHNz1kHDw7fr1Fh/6rOWarhTomMPVST3v+z3uPGqD5fJw4iNYTMkHd57kcr27RfUJKyKqQdnm/ZzA/gYepOZ7LOWqYRYf+qzlGq/U6JvBxp1XzLrkpWZrPx4mD6DwhRnflfTGPP1RrzSekpKwKyZ2Tk+P/BG6v9ngu/1QXWXTov5qjX+qn3Zv3flXLt+L7sq73Lnnp6ZrPx4mD6DwhxovjvJer1IWaT0hJWfnLBv8ncIMyvqVMIwsPHWiO8xN8P1pfo/GH2gXq0ig4H0cH0X1CCjYvba8mRccJCZmGkMrU8i21yll46EBzVFIj1+2aVVFN0TWH8U5ayvIoOB9HB9F9Qp5VKn68OypOSOg0hJSW5Vtqplp46ABzuBet9C7/VW00jbHpOpX5nhEF58M/iPYTMjs7RZ2xNgpOSEloCCnb/D9NmWwLDx1oDpMrJUPLEO7ny8QP2O7daT4fxwcx6TohXrkjVCftJ6RkNIR0gfK+SO9+bf/jOzkko1o1HTO4+qqWP5lbvefjhEH8tJyQ/PW7fNOUK6P7hJSQhpCGq/mey/nqbgsPHWCOt7Nf9C67lJZX9R+jbjn60rx6z8fxQbSekCPxHb2Lu3wN3SekhDSEtDntp+AAAAMHSURBVFq1yTPy2qo1Fh46wBw7StXY4vkP2EvN0zBCTmZ2wdG91vNxwiBaT4jROvFrz+VLqkcUfIKUhIaQjP7qvHtaqhstPHLAOZ5S5Xr2rav66vht71JVvaPJ0Hs+ThxE5wkx/peQdMWgtqriJkP/J0hJ6Agp7z+ty7Yel2/hkQPP8f5VddLbTtPyaTNTHWXoPR8nDaLxhBjG510qlGo8xPdbD92fICXB0ygAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQgIEEBIggJAAAYQECCAkQAAhAQIICRBASIAAQrKNhurI0OzKfQ5u6FqlQtdNnivqqyP/ql392h2erXt6m3JN7ytQDXUPGbMIyTYaqr91vb+Jale56/2nq795rqir/nFW/0aq1j7DGKoq9ry2cndC0oaQbKOhGmkYu5K9lzuSSnuuyFJ9Coy87mqM8YU6y/N1aXdzQtKGkGyjofJ+E1fPf+m5qKE2ey7Xq5bGYLXQe4t3CUkbQrKNhqrQZdVKvuszKxpt1W7vbhchaUNItnFKSJUq+64/rZxxnhnSbkLShpBs45SQMtUWz+VG1cK4Qb3nvfYDQtKGkGzjlJDKq+sKjLyr1EPG+6rZH4bx57mEpA0h2cYpIZWrUKVp/0Yq+4BhDFSVel1XtY86U+uEsYyQbOOUkNIarr8is84Nf3q27hmtyzb7v+3qEp0DxjRCsq+UY9/I/TJzrXd5V/XVN02MIyT7SjoW0qfq/PWGe2UjNUfnPDGNkOwr/lhIBV2UqlZeqQtcOueJaYRkX5UvOLY9/MhZZSpe8EiexmliHCEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgID/ByUgJMGGAe/VAAAAAElFTkSuQmCC"
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"image/png": "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"
},
"output_type": "display_data",
"metadata": {}
},
{
"data": {
"image/png": "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rLZHfAIgJDYKaY9aaW5WqD0RnwAIiY1CMrIfNteH60V8ACA0dgrp8fK+9xj7rvwTER8ACI2dQnJdW3rItGk3l+7DK9sh2tgpJMN49bKsrEtfjfjhgVDZKyQgShESIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGEBAggJEAAIQECCAkQQEiAAEICBBASIICQAAGWhrT4e8+F+6U2GdU6zXcXdUNCgs1YGpLq6OnoGqVSqynVv6iSCAk2Y3lIr6iK/3UZO3uqGUXckJBgM5aH1EO94t0eqXNR4Y9u+u2YuYQEe7E8pHPUH779deULfXCtOtGhkh4D0MHykLqp9b59j7qFP7rl+FekMepASY8B6GBtSI0Wrv9EPeDdbi57dRE3fI6QYC/WhuSRmqBWGsaL1dX7RdyQkGAzloa0d/ns0f3Or7TIMLJTni7qhoQEm9HxyAa3Yby9o8hbEBJsJjofIkRIsBlCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRAACEBAggJEEBIgABCAgQQEiCAkAABhAQIICRpBas/3qh7BliOkGS5J2aqBJU9X/ccsBghybq13NNbXGvuSZymexBYi5BEfR3/iW99LP1PzZPAWoQk6o4O5ppfcZbeQWAxQhJ15W3+TdsHtc4BqxGSqB6D/Ztz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"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"source": "## Factors",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 1,
"source": "#Variables can be described as nominal, ordinal or continuous\n#nominal variables are categorical with no implied order. eg Diabetes (Type 1, Type 2)\n#ordinal variables are categorical that imply order but no amount. eg Status (poor, improved, excellent)\n#continuous variables can take on any value in a given range - they imply both order and amount. eg age (14.5, 22.8, etc)",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 2,
"source": "#categorial variables (nominal and ordinal) are called Factors in R\n#let us see some examples of this below",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 8,
"source": "diabetes <- c(\"Type1\", \"Type2\", \"Type1\", \"Type1\") #vector called Diabetes created using the combine c() function\ndiabetes <- factor(diabetes) #converts Diabetes into a Factor\ndiabetes # Type1 is coded as 1; Type2 is coded as 2. The assignment is alphabetical",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item Type1\n\\item Type2\n\\item Type1\n\\item Type1\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>Type1</li>\n\t<li>Type2</li>\n\t<li>Type1</li>\n\t<li>Type1</li>\n</ol>\n",
"text/plain": "[1] Type1 Type2 Type1 Type1\nLevels: Type1 Type2",
"text/markdown": "1. Type1\n2. Type2\n3. Type1\n4. Type1\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 9,
"source": "str(diabetes) #str() function returns the structure of an argument passed in ()\n#you will see that str(diabetes) returns 1 2 1 1",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": " Factor w/ 2 levels \"Type1\",\"Type2\": 1 2 1 1\n"
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 12,
"source": "#for factors represrnting ordinal variables, you add the parameter ordered = TRUE and the levels() function to the factor() function\nstatus <- c(\"Poor\", \"Improved\", \"Excellent\", \"Poor\")\nstatus <- factor(status, ordered = T, level = c(\"Poor\", \"Improved\", \"Excellent\"))\nstatus",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item Poor\n\\item Improved\n\\item Excellent\n\\item Poor\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>Poor</li>\n\t<li>Improved</li>\n\t<li>Excellent</li>\n\t<li>Poor</li>\n</ol>\n",
"text/plain": "[1] Poor Improved Excellent Poor \nLevels: Poor < Improved < Excellent",
"text/markdown": "1. Poor\n2. Improved\n3. Excellent\n4. Poor\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 13,
"source": "str(status)",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": " Ord.factor w/ 3 levels \"Poor\"<\"Improved\"<..: 1 2 3 1\n"
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 14,
"source": "#numeric values can be coded as factors using the levels and labels options\n#for example if gender was coded as 1 for male and 2 for female, then you could convert it into a factor as follows:\ngender <- c(1, 2)\ngender <- factor(gender, levels = c(1, 2), labels = c(\"Male\", \"Female\"))\ngender",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item Male\n\\item Female\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>Male</li>\n\t<li>Female</li>\n</ol>\n",
"text/plain": "[1] Male Female\nLevels: Male Female",
"text/markdown": "1. Male\n2. Female\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 15,
"source": "#some more examples:\npatientID <- c(1, 2, 3, 4)\nage <- c(25, 34, 28, 52)\ndiabetes <- c(\"Type1\", \"Type2\", \"Type1\", \"Type1\")\nstatus <- c(\"Poor\", \"Improved\", \"Excellent\", \"Poor\")\ndiabetes <- factor(diabetes)\nstatus <- factor(status, ordered = T, levels = c(\"Poor\", \"Improved\", \"Excellent\"))\npatientData <- data.frame(patientID, age, diabetes, status)\npatientData",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{r|llll}\n patientID & age & diabetes & status\\\\\n\\hline\n\t 1 & 25 & Type1 & Poor \\\\\n\t 2 & 34 & Type2 & Improved \\\\\n\t 3 & 28 & Type1 & Excellent\\\\\n\t 4 & 52 & Type1 & Poor \\\\\n\\end{tabular}\n",
"text/html": "<table>\n<thead><tr><th scope=col>patientID</th><th scope=col>age</th><th scope=col>diabetes</th><th scope=col>status</th></tr></thead>\n<tbody>\n\t<tr><td>1 </td><td>25 </td><td>Type1 </td><td>Poor </td></tr>\n\t<tr><td>2 </td><td>34 </td><td>Type2 </td><td>Improved </td></tr>\n\t<tr><td>3 </td><td>28 </td><td>Type1 </td><td>Excellent</td></tr>\n\t<tr><td>4 </td><td>52 </td><td>Type1 </td><td>Poor </td></tr>\n</tbody>\n</table>\n",
"text/plain": " patientID age diabetes status \n1 1 25 Type1 Poor \n2 2 34 Type2 Improved \n3 3 28 Type1 Excellent\n4 4 52 Type1 Poor "
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 16,
"source": "str(patientData)",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "'data.frame':\t4 obs. of 4 variables:\n $ patientID: num 1 2 3 4\n $ age : num 25 34 28 52\n $ diabetes : Factor w/ 2 levels \"Type1\",\"Type2\": 1 2 1 1\n $ status : Ord.factor w/ 3 levels \"Poor\"<\"Improved\"<..: 1 2 3 1\n"
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 17,
"source": "summary(patientData)",
"outputs": [
{
"data": {
"text/plain": " patientID age diabetes status \n Min. :1.00 Min. :25.00 Type1:3 Poor :2 \n 1st Qu.:1.75 1st Qu.:27.25 Type2:1 Improved :1 \n Median :2.50 Median :31.00 Excellent:1 \n Mean :2.50 Mean :34.75 \n 3rd Qu.:3.25 3rd Qu.:38.50 \n Max. :4.00 Max. :52.00 "
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"source": "## Lists",
"metadata": {},
"cell_type": "markdown"
},
{
"execution_count": 18,
"source": "#Lists are the most complex of the R data types. A list is an odered collection of objects of any type\n# you can create a list using the list() function as follows:\n# mylist <- list(object1, object2, ...)\n# or you could name the objects in a list like: mylist <- list(name1 = object1, name2 = object2, ...)\n#let us look at some examples below:",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
},
{
"execution_count": 19,
"source": "g <- \"My First List\"\nh <- c(25, 26, 18, 39)\nj <- matrix(1:10, nrow = 5)\nk <- c(\"one\", \"two\", \"three\")\nmylist <- list(title = g, ages = h, j, k)\nmylist",
"outputs": [
{
"data": {
"text/plain": "$title\n[1] \"My First List\"\n\n$ages\n[1] 25 26 18 39\n\n[[3]]\n [,1] [,2]\n[1,] 1 6\n[2,] 2 7\n[3,] 3 8\n[4,] 4 9\n[5,] 5 10\n\n[[4]]\n[1] \"one\" \"two\" \"three\"\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 20,
"source": "mylist$title",
"outputs": [
{
"data": {
"text/latex": "'My First List'",
"text/html": "'My First List'",
"text/plain": "[1] \"My First List\"",
"text/markdown": "'My First List'"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 21,
"source": "mylist$ages",
"outputs": [
{
"data": {
"text/latex": "\\begin{enumerate*}\n\\item 25\n\\item 26\n\\item 18\n\\item 39\n\\end{enumerate*}\n",
"text/html": "<ol class=list-inline>\n\t<li>25</li>\n\t<li>26</li>\n\t<li>18</li>\n\t<li>39</li>\n</ol>\n",
"text/plain": "[1] 25 26 18 39",
"text/markdown": "1. 25\n2. 26\n3. 18\n4. 39\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 22,
"source": "mylist[[1]]",
"outputs": [
{
"data": {
"text/latex": "'My First List'",
"text/html": "'My First List'",
"text/plain": "[1] \"My First List\"",
"text/markdown": "'My First List'"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 23,
"source": "mylist[[3]]",
"outputs": [
{
"data": {
"text/latex": "\\begin{tabular}{ll}\n\t 1 & 6\\\\\n\t 2 & 7\\\\\n\t 3 & 8\\\\\n\t 4 & 9\\\\\n\t 5 & 10\\\\\n\\end{tabular}\n",
"text/html": "<table>\n<tbody>\n\t<tr><td>1 </td><td> 6</td></tr>\n\t<tr><td>2 </td><td> 7</td></tr>\n\t<tr><td>3 </td><td> 8</td></tr>\n\t<tr><td>4 </td><td> 9</td></tr>\n\t<tr><td>5 </td><td>10</td></tr>\n</tbody>\n</table>\n",
"text/plain": " [,1] [,2]\n[1,] 1 6 \n[2,] 2 7 \n[3,] 3 8 \n[4,] 4 9 \n[5,] 5 10 ",
"text/markdown": "1. 1\n2. 2\n3. 3\n4. 4\n5. 5\n6. 6\n7. 7\n8. 8\n9. 9\n10. 10\n\n\n"
},
"output_type": "display_data",
"metadata": {}
}
],
"cell_type": "code",
"metadata": {}
},
{
"execution_count": 24,
"source": "#Lists are important for 2 reasons:\n#1. they allow you to organize and recall disparate information in a simple way\n#2. the results of many R functions return lists and it is upto you to pull out the components needed",
"outputs": [],
"cell_type": "code",
"metadata": {
"collapsed": true
}
}
],
"nbformat": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment