{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Basics of R (Review)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Assignment"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"a <- 2\n",
"b <- 3"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"5"
],
"text/latex": [
"5"
],
"text/markdown": [
"5"
],
"text/plain": [
"[1] 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"a + b"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Custom function"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"add <- function(a, b) {\n",
" a + b\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"5"
],
"text/latex": [
"5"
],
"text/markdown": [
"5"
],
"text/plain": [
"[1] 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"add(a, b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vectors"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\t- 1
\n",
"\t- 2
\n",
"\t- 3
\n",
"\t- 4
\n",
"\t- 5
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 1\n",
"\\item 2\n",
"\\item 3\n",
"\\item 4\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 1\n",
"2. 2\n",
"3. 3\n",
"4. 4\n",
"5. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 1 2 3 4 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"seq(1, 5)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- 1
\n",
"\t- 2
\n",
"\t- 3
\n",
"\t- 4
\n",
"\t- 5
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 1\n",
"\\item 2\n",
"\\item 3\n",
"\\item 4\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 1\n",
"2. 2\n",
"3. 3\n",
"4. 4\n",
"5. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 1 2 3 4 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"1:5"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- 1
\n",
"\t- 2
\n",
"\t- 3
\n",
"\t- 4
\n",
"\t- 5
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 1\n",
"\\item 2\n",
"\\item 3\n",
"\\item 4\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 1\n",
"2. 2\n",
"3. 3\n",
"4. 4\n",
"5. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 1 2 3 4 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"c(1,2,3,4,5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Named vectors"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- a
\n",
"\t\t- 1
\n",
"\t- b
\n",
"\t\t- 2
\n",
"\t- c
\n",
"\t\t- 3
\n",
"\t- d
\n",
"\t\t- 4
\n",
"\t- e
\n",
"\t\t- 5
\n",
"
\n"
],
"text/latex": [
"\\begin{description*}\n",
"\\item[a] 1\n",
"\\item[b] 2\n",
"\\item[c] 3\n",
"\\item[d] 4\n",
"\\item[e] 5\n",
"\\end{description*}\n"
],
"text/markdown": [
"a\n",
": 1b\n",
": 2c\n",
": 3d\n",
": 4e\n",
": 5\n",
"\n"
],
"text/plain": [
"a b c d e \n",
"1 2 3 4 5 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"c(a=1, b=2, c=3, d=4, e=5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lists"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- $a
\n",
"\t\t- 1
\n",
"\t- $b
\n",
"\t\t- TRUE
\n",
"\t- $c
\n",
"\t\t- 'hello'
\n",
"
\n"
],
"text/latex": [
"\\begin{description}\n",
"\\item[\\$a] 1\n",
"\\item[\\$b] TRUE\n",
"\\item[\\$c] 'hello'\n",
"\\end{description}\n"
],
"text/markdown": [
"$a\n",
": 1\n",
"$b\n",
": TRUE\n",
"$c\n",
": 'hello'\n",
"\n",
"\n"
],
"text/plain": [
"$a\n",
"[1] 1\n",
"\n",
"$b\n",
"[1] TRUE\n",
"\n",
"$c\n",
"[1] \"hello\"\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"list(a=1, b=TRUE, c=\"hello\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data Frames\n",
"\n",
"A Data Frame is a special kind of List where all elements are vectros fo the same length."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 5 × 3\n",
"\n",
"\t| a | b | c |
\n",
"\t| <int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 1 | 6 | -0.2701866 |
\n",
"\t| 2 | 7 | 0.4624501 |
\n",
"\t| 3 | 8 | 0.1019228 |
\n",
"\t| 4 | 9 | -1.5094554 |
\n",
"\t| 5 | 10 | 0.4304919 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 5 × 3\n",
"\\begin{tabular}{r|lll}\n",
" a & b & c\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 1 & 6 & -0.2701866\\\\\n",
"\t 2 & 7 & 0.4624501\\\\\n",
"\t 3 & 8 & 0.1019228\\\\\n",
"\t 4 & 9 & -1.5094554\\\\\n",
"\t 5 & 10 & 0.4304919\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 5 × 3\n",
"\n",
"| a <int> | b <int> | c <dbl> |\n",
"|---|---|---|\n",
"| 1 | 6 | -0.2701866 |\n",
"| 2 | 7 | 0.4624501 |\n",
"| 3 | 8 | 0.1019228 |\n",
"| 4 | 9 | -1.5094554 |\n",
"| 5 | 10 | 0.4304919 |\n",
"\n"
],
"text/plain": [
" a b c \n",
"1 1 6 -0.2701866\n",
"2 2 7 0.4624501\n",
"3 3 8 0.1019228\n",
"4 4 9 -1.5094554\n",
"5 5 10 0.4304919"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data.frame(a=1:5, b=6:10, c=rnorm(5))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Basic Data Frame manipulation"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"df <- data.frame(a=1:5, b=6:10, c=rnorm(5))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 5 × 3\n",
"\n",
"\t| a | b | c |
\n",
"\t| <int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 1 | 6 | 0.5207780 |
\n",
"\t| 2 | 7 | -1.5697044 |
\n",
"\t| 3 | 8 | 0.3914048 |
\n",
"\t| 4 | 9 | -0.5415737 |
\n",
"\t| 5 | 10 | -0.9471250 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 5 × 3\n",
"\\begin{tabular}{r|lll}\n",
" a & b & c\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 1 & 6 & 0.5207780\\\\\n",
"\t 2 & 7 & -1.5697044\\\\\n",
"\t 3 & 8 & 0.3914048\\\\\n",
"\t 4 & 9 & -0.5415737\\\\\n",
"\t 5 & 10 & -0.9471250\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 5 × 3\n",
"\n",
"| a <int> | b <int> | c <dbl> |\n",
"|---|---|---|\n",
"| 1 | 6 | 0.5207780 |\n",
"| 2 | 7 | -1.5697044 |\n",
"| 3 | 8 | 0.3914048 |\n",
"| 4 | 9 | -0.5415737 |\n",
"| 5 | 10 | -0.9471250 |\n",
"\n"
],
"text/plain": [
" a b c \n",
"1 1 6 0.5207780\n",
"2 2 7 -1.5697044\n",
"3 3 8 0.3914048\n",
"4 4 9 -0.5415737\n",
"5 5 10 -0.9471250"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Get columns"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- 6
\n",
"\t- 7
\n",
"\t- 8
\n",
"\t- 9
\n",
"\t- 10
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 6\n",
"\\item 7\n",
"\\item 8\n",
"\\item 9\n",
"\\item 10\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 6\n",
"2. 7\n",
"3. 8\n",
"4. 9\n",
"5. 10\n",
"\n",
"\n"
],
"text/plain": [
"[1] 6 7 8 9 10"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df$b"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- 6
\n",
"\t- 7
\n",
"\t- 8
\n",
"\t- 9
\n",
"\t- 10
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 6\n",
"\\item 7\n",
"\\item 8\n",
"\\item 9\n",
"\\item 10\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 6\n",
"2. 7\n",
"3. 8\n",
"4. 9\n",
"5. 10\n",
"\n",
"\n"
],
"text/plain": [
"[1] 6 7 8 9 10"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[['b']]"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t- 6
\n",
"\t- 7
\n",
"\t- 8
\n",
"\t- 9
\n",
"\t- 10
\n",
"
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 6\n",
"\\item 7\n",
"\\item 8\n",
"\\item 9\n",
"\\item 10\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 6\n",
"2. 7\n",
"3. 8\n",
"4. 9\n",
"5. 10\n",
"\n",
"\n"
],
"text/plain": [
"[1] 6 7 8 9 10"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[,2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Get rows"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 1 × 3\n",
"\n",
"\t | a | b | c |
\n",
"\t | <int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 3 | 3 | 8 | 0.3914048 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 1 × 3\n",
"\\begin{tabular}{r|lll}\n",
" & a & b & c\\\\\n",
" & & & \\\\\n",
"\\hline\n",
"\t3 & 3 & 8 & 0.3914048\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 1 × 3\n",
"\n",
"| | a <int> | b <int> | c <dbl> |\n",
"|---|---|---|---|\n",
"| 3 | 3 | 8 | 0.3914048 |\n",
"\n"
],
"text/plain": [
" a b c \n",
"3 3 8 0.3914048"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[3,]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"\t | a | b | c |
\n",
"\t | <int> | <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 1 | 1 | 6 | 0.5207780 |
\n",
"\t| 3 | 3 | 8 | 0.3914048 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 3\n",
"\\begin{tabular}{r|lll}\n",
" & a & b & c\\\\\n",
" & & & \\\\\n",
"\\hline\n",
"\t1 & 1 & 6 & 0.5207780\\\\\n",
"\t3 & 3 & 8 & 0.3914048\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 3\n",
"\n",
"| | a <int> | b <int> | c <dbl> |\n",
"|---|---|---|---|\n",
"| 1 | 1 | 6 | 0.5207780 |\n",
"| 3 | 3 | 8 | 0.3914048 |\n",
"\n"
],
"text/plain": [
" a b c \n",
"1 1 6 0.5207780\n",
"3 3 8 0.3914048"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[c(1,3), ]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Get cell"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"-1.56970441859343"
],
"text/latex": [
"-1.56970441859343"
],
"text/markdown": [
"-1.56970441859343"
],
"text/plain": [
"[1] -1.569704"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[2,3]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Get sub-frame"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 5 × 2\n",
"\n",
"\t| a | c |
\n",
"\t| <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 1 | 0.5207780 |
\n",
"\t| 2 | -1.5697044 |
\n",
"\t| 3 | 0.3914048 |
\n",
"\t| 4 | -0.5415737 |
\n",
"\t| 5 | -0.9471250 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 5 × 2\n",
"\\begin{tabular}{r|ll}\n",
" a & c\\\\\n",
" & \\\\\n",
"\\hline\n",
"\t 1 & 0.5207780\\\\\n",
"\t 2 & -1.5697044\\\\\n",
"\t 3 & 0.3914048\\\\\n",
"\t 4 & -0.5415737\\\\\n",
"\t 5 & -0.9471250\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 5 × 2\n",
"\n",
"| a <int> | c <dbl> |\n",
"|---|---|\n",
"| 1 | 0.5207780 |\n",
"| 2 | -1.5697044 |\n",
"| 3 | 0.3914048 |\n",
"| 4 | -0.5415737 |\n",
"| 5 | -0.9471250 |\n",
"\n"
],
"text/plain": [
" a c \n",
"1 1 0.5207780\n",
"2 2 -1.5697044\n",
"3 3 0.3914048\n",
"4 4 -0.5415737\n",
"5 5 -0.9471250"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[c(1,3)]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 2 × 2\n",
"\n",
"\t | b | c |
\n",
"\t | <int> | <dbl> |
\n",
"\n",
"\n",
"\t| 1 | 6 | 0.5207780 |
\n",
"\t| 3 | 8 | 0.3914048 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 2 × 2\n",
"\\begin{tabular}{r|ll}\n",
" & b & c\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t1 & 6 & 0.5207780\\\\\n",
"\t3 & 8 & 0.3914048\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 2 × 2\n",
"\n",
"| | b <int> | c <dbl> |\n",
"|---|---|---|\n",
"| 1 | 6 | 0.5207780 |\n",
"| 3 | 8 | 0.3914048 |\n",
"\n"
],
"text/plain": [
" b c \n",
"1 6 0.5207780\n",
"3 8 0.3914048"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[c(1,3), 2:3]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}