{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# R Graphics Exercise (Solutions)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Registered S3 methods overwritten by 'ggplot2':\n", " method from \n", " [.quosures rlang\n", " c.quosures rlang\n", " print.quosures rlang\n", "── \u001b[1mAttaching packages\u001b[22m ─────────────────────────────────────── tidyverse 1.2.1 ──\n", "\u001b[32m✔\u001b[39m \u001b[34mggplot2\u001b[39m 3.1.1 \u001b[32m✔\u001b[39m \u001b[34mpurrr \u001b[39m 0.3.2\n", "\u001b[32m✔\u001b[39m \u001b[34mtibble \u001b[39m 2.1.2 \u001b[32m✔\u001b[39m \u001b[34mdplyr \u001b[39m 0.8.1\n", "\u001b[32m✔\u001b[39m \u001b[34mtidyr \u001b[39m 0.8.3 \u001b[32m✔\u001b[39m \u001b[34mstringr\u001b[39m 1.4.0\n", "\u001b[32m✔\u001b[39m \u001b[34mreadr \u001b[39m 1.3.1 \u001b[32m✔\u001b[39m \u001b[34mforcats\u001b[39m 0.4.0\n", "── \u001b[1mConflicts\u001b[22m ────────────────────────────────────────── tidyverse_conflicts() ──\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mfilter()\u001b[39m masks \u001b[34mstats\u001b[39m::filter()\n", "\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mlag()\u001b[39m masks \u001b[34mstats\u001b[39m::lag()\n" ] } ], "source": [ "library(tidyverse)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "options(repr.plot.width=4, repr.plot.height=3)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Parsed with column specification:\n", "cols(\n", " .default = col_double(),\n", " Label = \u001b[31mcol_character()\u001b[39m,\n", " Media = \u001b[31mcol_character()\u001b[39m,\n", " Strain = \u001b[31mcol_character()\u001b[39m\n", ")\n", "See spec(...) for full column specifications.\n" ] } ], "source": [ "data <- read_tsv('data/gene_counts_raw.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**0**. The `Label` column has 3 pieces of information `Sample`, `Method` andd `Person` in a single cell. Fix this and save the tidy DataFrame as `df`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 3 × 5
LabelMediaStraingene0gene1
<chr><chr><chr><dbl><dbl>
1_MA_JYPDH9910
1_RZ_JYPDH9900
2_MA_CYPDH9900
\n" ], "text/latex": [ "A tibble: 3 × 5\n", "\\begin{tabular}{r|lllll}\n", " Label & Media & Strain & gene0 & gene1\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t 1\\_MA\\_J & YPD & H99 & 1 & 0\\\\\n", "\t 1\\_RZ\\_J & YPD & H99 & 0 & 0\\\\\n", "\t 2\\_MA\\_C & YPD & H99 & 0 & 0\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 3 × 5\n", "\n", "| Label <chr> | Media <chr> | Strain <chr> | gene0 <dbl> | gene1 <dbl> |\n", "|---|---|---|---|---|\n", "| 1_MA_J | YPD | H99 | 1 | 0 |\n", "| 1_RZ_J | YPD | H99 | 0 | 0 |\n", "| 2_MA_C | YPD | H99 | 0 | 0 |\n", "\n" ], "text/plain": [ " Label Media Strain gene0 gene1\n", "1 1_MA_J YPD H99 1 0 \n", "2 1_RZ_J YPD H99 0 0 \n", "3 2_MA_C YPD H99 0 0 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data[1:3, 1:5]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 3 × 5
gene995gene996gene997gene998gene999
<dbl><dbl><dbl><dbl><dbl>
27325637591 848
7227508345 641
312957377381006
\n" ], "text/latex": [ "A tibble: 3 × 5\n", "\\begin{tabular}{r|lllll}\n", " gene995 & gene996 & gene997 & gene998 & gene999\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t 27 & 325 & 637 & 591 & 848\\\\\n", "\t 7 & 227 & 508 & 345 & 641\\\\\n", "\t 31 & 295 & 737 & 738 & 1006\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 3 × 5\n", "\n", "| gene995 <dbl> | gene996 <dbl> | gene997 <dbl> | gene998 <dbl> | gene999 <dbl> |\n", "|---|---|---|---|---|\n", "| 27 | 325 | 637 | 591 | 848 |\n", "| 7 | 227 | 508 | 345 | 641 |\n", "| 31 | 295 | 737 | 738 | 1006 |\n", "\n" ], "text/plain": [ " gene995 gene996 gene997 gene998 gene999\n", "1 27 325 637 591 848 \n", "2 7 227 508 345 641 \n", "3 31 295 737 738 1006 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n <- ncol(data)\n", "data[1:3, (n-4):n]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 3 × 5
SampleMethodPersonMediaStrain
<chr><chr><chr><chr><chr>
1MAJYPDH99
1RZJYPDH99
2MACYPDH99
\n" ], "text/latex": [ "A tibble: 3 × 5\n", "\\begin{tabular}{r|lllll}\n", " Sample & Method & Person & Media & Strain\\\\\n", " & & & & \\\\\n", "\\hline\n", "\t 1 & MA & J & YPD & H99\\\\\n", "\t 1 & RZ & J & YPD & H99\\\\\n", "\t 2 & MA & C & YPD & H99\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 3 × 5\n", "\n", "| Sample <chr> | Method <chr> | Person <chr> | Media <chr> | Strain <chr> |\n", "|---|---|---|---|---|\n", "| 1 | MA | J | YPD | H99 |\n", "| 1 | RZ | J | YPD | H99 |\n", "| 2 | MA | C | YPD | H99 |\n", "\n" ], "text/plain": [ " Sample Method Person Media Strain\n", "1 1 MA J YPD H99 \n", "2 1 RZ J YPD H99 \n", "3 2 MA C YPD H99 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data %>%\n", "separate(Label, sep='_', into=c(\"Sample\", \"Method\", \"Person\")) %>%\n", "select(1:5) %>%\n", "head(3)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "data %>%\n", "separate(Label, sep='_', into=c(\"Sample\", \"Method\", \"Person\")) -> df" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "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 tibble: 6 × 8
SampleMethodPersonMediaStraingene0gene1gene10
<chr><chr><chr><chr><chr><dbl><dbl><dbl>
1MA JYPDH99 1013
1RZ JYPDH99 0014
2MA CYPDH99 0010
2RZ CYPDH9910018
2TOTCYPDH99 10 0
3MA JYPDH99 00 8
\n" ], "text/latex": [ "A tibble: 6 × 8\n", "\\begin{tabular}{r|llllllll}\n", " Sample & Method & Person & Media & Strain & gene0 & gene1 & gene10\\\\\n", " & & & & & & & \\\\\n", "\\hline\n", "\t 1 & MA & J & YPD & H99 & 1 & 0 & 13\\\\\n", "\t 1 & RZ & J & YPD & H99 & 0 & 0 & 14\\\\\n", "\t 2 & MA & C & YPD & H99 & 0 & 0 & 10\\\\\n", "\t 2 & RZ & C & YPD & H99 & 10 & 0 & 18\\\\\n", "\t 2 & TOT & C & YPD & H99 & 1 & 0 & 0\\\\\n", "\t 3 & MA & J & YPD & H99 & 0 & 0 & 8\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 6 × 8\n", "\n", "| Sample <chr> | Method <chr> | Person <chr> | Media <chr> | Strain <chr> | gene0 <dbl> | gene1 <dbl> | gene10 <dbl> |\n", "|---|---|---|---|---|---|---|---|\n", "| 1 | MA | J | YPD | H99 | 1 | 0 | 13 |\n", "| 1 | RZ | J | YPD | H99 | 0 | 0 | 14 |\n", "| 2 | MA | C | YPD | H99 | 0 | 0 | 10 |\n", "| 2 | RZ | C | YPD | H99 | 10 | 0 | 18 |\n", "| 2 | TOT | C | YPD | H99 | 1 | 0 | 0 |\n", "| 3 | MA | J | YPD | H99 | 0 | 0 | 8 |\n", "\n" ], "text/plain": [ " Sample Method Person Media Strain gene0 gene1 gene10\n", "1 1 MA J YPD H99 1 0 13 \n", "2 1 RZ J YPD H99 0 0 14 \n", "3 2 MA C YPD H99 0 0 10 \n", "4 2 RZ C YPD H99 10 0 18 \n", "5 2 TOT C YPD H99 1 0 0 \n", "6 3 MA J YPD H99 0 0 8 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df %>% \n", "select(1:8) %>% \n", "head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1**. Plot a scatter plot of gene100 against gene 1001. Color points by the method used. Save the image as a PNG file 'fig1.png' in the 'figs' folder." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Saving 6.67 x 6.67 in image\n" ] }, { "data": { "image/png": "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\n5r07kNF4x/FDO/p0iUEY+/g01oHEiZRKpWsqcg2JROJFz+fJvb/w2dkGV5SRJ45Zk4e05rDd\nunWTy+UnTpwYOHDg+fPnRSJRbOwdi9nn5OSMHj0aIfTwww9v3LjRDQl61qxZSUlJDkcSzps3\n78EHH3z77bcbGkno7++/bNky2+a0adOmTJlSUFBA07TdoCCGYcRiMcuyDsttm507d544caJt\nMzAw0OFgJ5qmKYoymUx1n2oKgb+3de4UAfURBCEWiy0Wi9ADIzHGIpFI6IFqCCGpVMpxnPHO\nlNpyFI3H/ANvzkG2/x+5gn3sCYPRKJFInFZLw/hpd4xGo9C36jRNsywr9HhFkiRFIhHDMC2+\nsOs31AoN3yjmJw+oV9haY8aM+eWXXwYOHLhz585HHnmk7q5r164dP36cb3oeNWrUJ598cvHi\nxbi4uNZXaqexBP3HH3989dVXjYwknDp1ajOrCQsLQwjV1NQEBwdrtVqz2SwSiRBCRqNRq9WG\nhIRYrVaH5bYjdOnSZdq0abZNtVrtcPSzXC6nKMrpY0Prc9lQb7FYzDCMC4Z6kyQpdC0IIYlE\nwrKsMyuKiiHSJ1MF+YRWwwYEMT16cWIJ0ulEIpFer3dBEwdJkgaDoc0M9RaJRGazucUXthsS\nNEUhk30zF0c6oZFzzJgxM2bMmD179s6dO2fMmFFe/vcc3zk5ORKJZNiwYQihIUOGKBSKDRs2\nzJgxo/WV2hFqJGFZWdm2bdtsV+21a9cQQqGhoQkJCQRBFBTcevKen59PUVTXrl0bKr+rkwHt\nE+vrZx58nzH1YXPfATARc3vDxjmaELFra/vXI4RSUlIuXrx45cqVM2fO3H///XV35eTk8J0g\nMMZisVir1W7YsKH1NdYn1EhCkiTXrFmTnZ198+bNS5cuffHFF926dYuNjZXJZKmpqatXr756\n9eqVK1e++eabESNGSKXShsqdcIoAgLbLmvowFxBYt4TtkWjtkdj6I9M0PXz48AULFgwdOrTu\nE7IrV66cPHnyyy+/LL3t66+/Pn36dN1eDM4i1EjCoKCgd99997vvvsvKypJKpffcc096ejr/\nPDQjI2PlypVvvfUWQiglJSU9PZ3/SEPlAADQEE4iZV6YRp46gUuuI1rExsSxzlstYcyYMZmZ\nmcuXL69bmJOTI5PJJkyYYBsO8uSTT77yyisbN27k05cTNdGIceTIkZkzZ/72228tGEkoKJhu\n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", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(df, aes(x=gene100, y=gene1001, color=Method)) + \n", "geom_point()\n", "ggsave('figs/fig1.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**2**. Make a boxplot plot of gene100 counts by method." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Saving 6.67 x 6.67 in image\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC4lBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4QEBASEhITExMUFBQVFRUWFhYYGBgZ\nGRkaGhobGxscHBweHh4fHx8gICAhISEiIiIjIyMlJSUmJiYnJycoKCgpKSkqKiorKyssLCwt\nLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/\nPz9AQEBBQUFDQ0NERERFRUVGRkZHR0dISEhKSkpLS0tNTU1OTk5PT09QUFBRUVFSUlJTU1NU\nVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRmZmZn\nZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5\neXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqL\ni4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJyd\nnZ2enp6fn5+goKChoaGioqKkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+w\nsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHC\nwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU\n1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm\n5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4\n+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///+LspVhAAAACXBIWXMAABJ0AAASdAHeZh94AAARDklE\nQVR4nO3df3xT9b3H8QM4BMqu7pfb9W53bm6AbitIAZuqG7qdSKVpoCLocCpYgTo2KrpNudsV\nfwwQ0OrckM0NlR8iDiwDBAfW0nb0Anc45YdArdRorW3T0pDm8//OSZq2tGmac/r5nJOcvF9/\n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\nAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(df, aes(x=Method, y=gene100)) +\n", "geom_boxplot()\n", "ggsave('figs/fig2.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**3**. Make a jitter plot of gene100 counts by Media and color the points by method. Set the jitter width to be 0.2." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Saving 6.67 x 6.67 in image\n" ] }, { "data": { "image/png": "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\nTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(df, aes(x=Media, y=gene100, color=Method)) +\n", "geom_jitter(width=0.2)\n", "ggsave('figs/fig3.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**4**. Make a grid of histograms of counts for gene100, with rows showing the person and columns showing the method used." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Saving 6.67 x 6.67 in image\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC61BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0RERESEhITExMVFRUXFxcYGBgZGRkaGhob\nGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwt\nLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/\nPz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpMTExNTU1OTk5PT09QUFBRUVFS\nUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2Nk\nZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2\ndnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaIiIiJ\niYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqb\nm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKyt\nra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/\nv7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR\n0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj\n4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT1\n9fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////uwQSpAAAACXBIWXMAABJ0AAASdAHe\nZh94AAAaRklEQVR4nO2da2AUVZbHW2dnV4SZ2d2xFRdZ8AGo47Yujo8AKoyz0y3uoqE7bMB1\nFUZFBAUJAiMyEHmID0RWFwEVmZWXDDPyaMSAGJQkDu/YIzEEEiEGY0i60490+n7cetyqure7\n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\nQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ggplot(df, aes(x=gene100)) +\n", "facet_grid(Person ~ Method) +\n", "geom_histogram(binwidth=50) \n", "ggsave('figs/fig4.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**5**. Make a row of boxplots of log counts of the top 5 genes where each column shows a different method.\n", "\n", "**Warning**: This involves quite a bit of data processing." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "genes.top5 <- df %>% \n", "select(starts_with('gene')) %>% \n", "summarize_all(mean) %>% \n", "gather() %>% \n", "arrange(desc(value)) %>%\n", "head(5)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
A tibble: 5 × 2
keyvalue
<chr><dbl>
gene1139884531.49
gene1136484816.47
gene7418132744.71
gene363 62325.08
gene7387 45986.86
\n" ], "text/latex": [ "A tibble: 5 × 2\n", "\\begin{tabular}{r|ll}\n", " key & value\\\\\n", " & \\\\\n", "\\hline\n", "\t gene1139 & 884531.49\\\\\n", "\t gene1136 & 484816.47\\\\\n", "\t gene7418 & 132744.71\\\\\n", "\t gene363 & 62325.08\\\\\n", "\t gene7387 & 45986.86\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A tibble: 5 × 2\n", "\n", "| key <chr> | value <dbl> |\n", "|---|---|\n", "| gene1139 | 884531.49 |\n", "| gene1136 | 484816.47 |\n", "| gene7418 | 132744.71 |\n", "| gene363 | 62325.08 |\n", "| gene7387 | 45986.86 |\n", "\n" ], "text/plain": [ " key value \n", "1 gene1139 884531.49\n", "2 gene1136 484816.47\n", "3 gene7418 132744.71\n", "4 gene363 62325.08\n", "5 gene7387 45986.86" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "genes.top5" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 'gene1139'
  2. \n", "\t
  3. 'gene1136'
  4. \n", "\t
  5. 'gene7418'
  6. \n", "\t
  7. 'gene363'
  8. \n", "\t
  9. 'gene7387'
  10. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'gene1139'\n", "\\item 'gene1136'\n", "\\item 'gene7418'\n", "\\item 'gene363'\n", "\\item 'gene7387'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'gene1139'\n", "2. 'gene1136'\n", "3. 'gene7418'\n", "4. 'gene363'\n", "5. 'gene7387'\n", "\n", "\n" ], "text/plain": [ "[1] \"gene1139\" \"gene1136\" \"gene7418\" \"gene363\" \"gene7387\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "genes.top5$key" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Saving 6.67 x 6.67 in image\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAMAAAC46dgSAAAC5VBMVEUAAAABAQECAgIDAwMH\nBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4RERESEhITExMXFxcYGBgZGRkaGhobGxscHBwdHR0e\nHh4fHx8gICAiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAx\nMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJD\nQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRV\nVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZn\nZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5\neXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqL\ni4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJyd\nnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6v\nr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDB\nwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT\n09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl\n5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb3\n9/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////6fic7AAAACXBIWXMAABJ0AAASdAHeZh94AAAd\n90lEQVR4nO2deWAURb7HR99Tcd/uvjX79MnT9QCf6zYQEEgIyiVMPAC5ssAusEAUOdwQwiFy\nBwKiyLnKKbA8IbC4LqBcCQYQQlguwVluCEcYiEASQq7pv1/39Exmqrp+k56eytRMz+/7R7qn\n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\nsMX1/7xHXcofFdZfAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df %>% \n", "select(c('Method', genes.top5$key)) %>%\n", "gather(gene, count, -Method) %>%\n", "mutate(logcount = log(count)) %>%\n", "ggplot(aes(x=gene, y=logcount)) +\n", "geom_boxplot() + \n", "facet_wrap(~ Method) +\n", "theme(axis.text.x = element_text(angle = 90, hjust = 1))\n", "ggsave('figs/fig5.png')" ] }, { "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 }