layout: true background-image: url(img/course-logo.png), url(img/logo_SBR.png), url(img//NTU-Logo-full-colour.png) background-position: right top 30px, right 50px bottom 50px,left 50px bottom 50px, top 350px left 500px background-size: 45%, 25%, 20% # Fundamental of Data Science for EESS --- <br> <br> <br> <br> ## R session 04 - Data wrangling .font120[**Daniel Vaulot**] 2021-02-05 --- layout: false class: middle, inverse # Outline .font150[ * [Data frames](#data_frames) * Concept of tidy data * Reading data * Manipulating data * Columns * Rows * Joining tables * Going from wide to long format ] --- background-image: url(img/wooclap_01.png) background-position: middle center background-size: 100% # Wooclap - Quizz on first 2 classes .font150[ https://www.wooclap.com/R01 ] --- layout: false # R objects * List * Matrix * Factors * **Data frames** --- layout: true # Data frames --- name: data_frames ## What is it ? * Table mixing different types of columns (an Excel table...) * However within a column all values are similar, e.g. numeric, logical, character -- ```r df <- data.frame(label = letters[1:6], id = 1:6, value = rnorm(6, mean = 0, sd = 1), flag=c(TRUE, FALSE), # recycling rule stringsAsFactors = FALSE) df ``` ``` label id value flag 1 a 1 1.3952912 TRUE 2 b 2 0.4437818 FALSE 3 c 3 -0.5267217 TRUE 4 d 4 -0.8592721 FALSE 5 e 5 1.1239631 TRUE 6 f 6 -1.1016689 FALSE ``` .warning[ * We will NOT use factors: `stringsAsFactors = FALSE` ] --- ## Useful functions ```r dim(df) # returns the dimensions of data frame ``` ``` [1] 6 4 ``` ```r nrow(df) # number of rows ``` ``` [1] 6 ``` ```r ncol(df) # number of columns ``` ``` [1] 4 ``` --- ## Useful functions ```r str(df) # structure of data frame - name, type and preview of data in each column ``` ``` 'data.frame': 6 obs. of 4 variables: $ label: chr "a" "b" "c" "d" ... $ id : int 1 2 3 4 5 6 $ value: num 1.395 0.444 -0.527 -0.859 1.124 ... $ flag : logi TRUE FALSE TRUE FALSE TRUE FALSE ``` ```r colnames(df) # columns names ``` ``` [1] "label" "id" "value" "flag" ``` --- ## Access specific value * Use the `df[i,j]` notation, first index corresponds to row, second index to column ```r df[5, 3] ``` ``` [1] 1.123963 ``` -- * Specifiy the name of the column ```r df[5, "value"] ``` ``` [1] 1.123963 ``` .warning[ * The result is a **vector** ] --- ## Access specific column * Use the `df[i,j]` notation ```r df[, 3] ``` ``` [1] 1.3952912 0.4437818 -0.5267217 -0.8592721 1.1239631 -1.1016689 ``` ```r df[, "value"] ``` ``` [1] 1.3952912 0.4437818 -0.5267217 -0.8592721 1.1239631 -1.1016689 ``` .warning[ * The result is a **vector** ] --- ## Access specific column * Use `$`notation ```r df$value ``` ``` [1] 1.3952912 0.4437818 -0.5267217 -0.8592721 1.1239631 -1.1016689 ``` -- ## This can be used to access a specific value * `$` for the column, `[i]` for the row ```r df$value[5] ``` ``` [1] 1.123963 ``` --- ## Access row * Use the `df[i,j]` notation ```r df[1, ] ``` ``` label id value flag 1 a 1 1.395291 TRUE ``` .warning[ * The result is a **data frame** ] --- ## Access specific rows * Rows for which the value of id <= 3 ```r df[df$id <= 3,] ``` ``` label id value flag 1 a 1 1.3952912 TRUE 2 b 2 0.4437818 FALSE 3 c 3 -0.5267217 TRUE ``` .student[Select lines for which the label is c] -- ```r df[df$label == "c", ] ``` ``` label id value flag 3 c 3 -0.5267217 TRUE ``` .warning[This syntax is complicated - tidyverse packages make it much more easy to manipulate and remember] --- layout: true # Tidy data --- ## Installation and Resources .pull-left[ ### Packages .font70[ * readxl : Reading Excel files * readr : Reading and writing Text files * dplyr : Filter and reformat data frames * tidyr : Make data "tidy" * stringr : Manipulating strings * lubridate : Manipulate date * unzip `R-session-04.zip` * Open in R `R-session-04-data_wrangling.R` ] ### Resources .font70[ * [R for data science](https://r4ds.had.co.nz/): (Chapter 5) * Cheat sheets * [Importing data](https://github.com/rstudio/cheatsheets/raw/master/data-import.pdf) * [Cleaning up data](https://github.com/rstudio/cheatsheets/raw/master/data-transformation.pdf) * [Manipulating strings](https://github.com/rstudio/cheatsheets/raw/master/strings.pdf) ] ] .pull-right[ <img src="img/R_for_datascience.png" width="65%" style="display: block; margin: auto;" /> ] --- ## Basic concepts 1. Each variable must have its own column. 2. Each observation must have its own row. 2. Each value must have its own cell. <img src="img/tidy-data.png" width="100%" style="display: block; margin: auto;" /> --- ## Load necessary libraries ```r library("readxl") # Import the data from Excel file library("readr") # Import the data from Excel file library("dplyr") # filter and reformat data frames library("tidyr") # make data tidy library("stringr") # manipulate strings library("lubridate") # manipulate date library("ggplot2") # graphics ``` --- layout: true # Oceanographic data --- ## CARBOM cruise off Brazil .pull-left[ <img src="img/carbom_cruise.png" width="100%" style="display: block; margin: auto;" /> ] -- .pull-right[ * Stations * Depth * Coordinates * Temperature, Salinity * Nitrates, Phosphates <img src="img/carbom_isme.png" width="100%" style="display: block; margin: auto;" /> ] --- ## Microbial populations .pull-left[ <img src="img/picopk-domi.png" width="100%" style="display: block; margin: auto;" /> ] -- .pull-right[ <img src="img/carbom_flow_cytometry.png" width="80%" style="display: block; margin: auto;" /> ] * Flow cytometry : * pico-eukaryotes * nano-eukaryotes --- layout: true # Read data --- ## Text file - TAB delimited <img src="img/carbom_txt.png" width="100%" style="display: block; margin: auto;" /> --- ## Reading a text file ```r samples <- readr::read_tsv("data/CARBOM data.txt") ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> sample number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 13/11/2013 </td> <td style="text-align:left;"> 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:right;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 13/11/2013 </td> <td style="text-align:left;"> 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:right;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:right;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> </tr> <tr> <td style="text-align:right;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:right;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:right;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> </tr> <tr> <td style="text-align:right;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> </tr> <tr> <td style="text-align:right;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 13/11/2013 </td> <td style="text-align:left;"> 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:right;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 18/11/2013 </td> <td style="text-align:left;"> 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> -- - __readr::read_tsv()__ : read tab delimited files - __readr::read_csv()__ : read comma delimited files - __readr::write_tsv()__ : write tab delimited files --- ## Excel sheet <img src="img/carbom_excel.png" width="100%" style="display: block; margin: auto;" /> --- ## Read the data - read_excel ```r samples <- readxl::read_excel("data/CARBOM data.xlsx", sheet = "Samples_boat") ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> * Can also select a range : e.g. A1:Q26 * Can skip lines --- ## Bad data input under Excel <br> <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:right;background-color: lightyellow !important;"> 2 </td> <td style="text-align:left;background-color: lightyellow !important;"> </td> <td style="text-align:left;background-color: lightyellow !important;"> 2013-11-18 </td> <td style="text-align:left;background-color: lightyellow !important;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;background-color: lightyellow !important;"> 30 </td> <td style="text-align:left;background-color: lightyellow !important;"> Deep </td> <td style="text-align:right;background-color: lightyellow !important;"> -27.39 </td> <td style="text-align:right;background-color: lightyellow !important;"> -47.82 </td> <td style="text-align:right;background-color: lightyellow !important;"> 1737 </td> <td style="text-align:right;background-color: lightyellow !important;"> 218 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.43 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.23 </td> <td style="text-align:right;background-color: lightyellow !important;"> 22.6 </td> <td style="text-align:right;background-color: lightyellow !important;"> 33.7 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:right;background-color: lightyellow !important;"> 2 </td> <td style="text-align:left;background-color: lightyellow !important;"> </td> <td style="text-align:left;background-color: lightyellow !important;"> 2013-11-18 </td> <td style="text-align:left;background-color: lightyellow !important;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;background-color: lightyellow !important;"> 50 </td> <td style="text-align:left;background-color: lightyellow !important;"> Deep </td> <td style="text-align:right;background-color: lightyellow !important;"> -27.39 </td> <td style="text-align:right;background-color: lightyellow !important;"> -47.82 </td> <td style="text-align:right;background-color: lightyellow !important;"> 853 </td> <td style="text-align:right;background-color: lightyellow !important;"> 234 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.56 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.21 </td> <td style="text-align:right;background-color: lightyellow !important;"> 20.3 </td> <td style="text-align:right;background-color: lightyellow !important;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 126 </td> <td style="text-align:right;background-color: lightyellow !important;"> 2 </td> <td style="text-align:left;background-color: lightyellow !important;"> </td> <td style="text-align:left;background-color: lightyellow !important;"> 2013-11-18 </td> <td style="text-align:left;background-color: lightyellow !important;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;background-color: lightyellow !important;"> 50 </td> <td style="text-align:left;background-color: lightyellow !important;"> Deep </td> <td style="text-align:right;background-color: lightyellow !important;"> -27.59 </td> <td style="text-align:right;background-color: lightyellow !important;"> -47.39 </td> <td style="text-align:right;background-color: lightyellow !important;"> 1217 </td> <td style="text-align:right;background-color: lightyellow !important;"> 782 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.25 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.20 </td> <td style="text-align:right;background-color: lightyellow !important;"> 23.7 </td> <td style="text-align:right;background-color: lightyellow !important;"> 37.2 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 127 </td> <td style="text-align:right;background-color: lightyellow !important;"> 2 </td> <td style="text-align:left;background-color: lightyellow !important;"> </td> <td style="text-align:left;background-color: lightyellow !important;"> 2013-11-18 </td> <td style="text-align:left;background-color: lightyellow !important;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;background-color: lightyellow !important;"> 85 </td> <td style="text-align:left;background-color: lightyellow !important;"> Deep </td> <td style="text-align:right;background-color: lightyellow !important;"> -27.59 </td> <td style="text-align:right;background-color: lightyellow !important;"> -47.39 </td> <td style="text-align:right;background-color: lightyellow !important;"> 3420 </td> <td style="text-align:right;background-color: lightyellow !important;"> 226 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.25 </td> <td style="text-align:right;background-color: lightyellow !important;"> 0.47 </td> <td style="text-align:right;background-color: lightyellow !important;"> 22.9 </td> <td style="text-align:right;background-color: lightyellow !important;"> 37.0 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> * There are missing values in the column __station__ because only recorded when changed --- ## Filling missing values - fill ```r samples <- tidyr::fill(samples, station) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> * All missing values have been filled in. --- layout: false # Write data ## Text file - __readr::write_tsv()__ : write tab delimited files ```r readr::write_tsv(samples, "data/CARBOM data fixed.tsv") ``` -- ## Excel file - __openxlsx::write.xlsx__ : write tab delimited files - Many options: specific sheet, formatting etc... ```r openxlsx::write.xlsx(samples, "data/CARBOM data fixed.xlsx") ``` --- # Write data ## Library rio * Many output formats * import() / export() <iframe src="https://cran.r-project.org/web/packages/rio/vignettes/rio.html" width="100%" height="400px"></iframe> --- layout: false # dplyr - Manipulate tables <img src="img/dplyr.jpg" width="75%" style="display: block; margin: auto;" /> @allison_horst --- layout: true # Manipulate columns --- ## List columns ```r colnames(samples) ``` ``` [1] "sample number" "transect" "station" "date" [5] "time" "depth" "level" "latitude" [9] "longitude" "picoeuks" "nanoeuks" "phosphates" [13] "nitrates" "temperature" "salinity" ``` --- ## Summarize columns ```r summary(samples$depth) ``` ``` Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 5.0 5.0 50.0 56.6 100.0 140.0 3 ``` --- ## Select specific columns - select ```r samples_select <- dplyr::select(samples, transect, `sample number`, station, depth, latitude, longitude, picoeuks, nanoeuks) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> sample number </th> <th style="text-align:left;"> station </th> <th style="text-align:right;"> depth </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 10 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 11 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 120 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 121 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 122 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 125 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 126 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 127 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 13 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 140 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> </tbody> </table> .warning[ * Column names are not "quoted" (in base R you need to "quote" the column names) * Better not to put space in column header because then must enclose column name with \` (back-quote)] --- ## Select a range of columns - select ```r samples_select <- dplyr::select(samples, transect:nanoeuks) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> </tbody> </table> --- ## Unselect columns - select ```r samples_select <- dplyr::select(samples, -nitrates, -phosphates) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> --- ## Using the pipe operator - %>% ```r samples_select <- samples %>% dplyr::select(transect:nanoeuks) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> </tbody> </table> * It is cleaner to write on 2 lines ```r samples_select <- samples %>% dplyr::select(transect:nanoeuks) ``` --- ## Renaming variables - rename ```r samples <- samples %>% dplyr::rename(sample_number = `sample number`) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> </tr> </tbody> </table> --- ## Creating new variables - mutate ```r samples <- samples %>% dplyr::mutate(pico_pct = picoeuks/(picoeuks+nanoeuks)*100) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 72.68293 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 90.99124 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 93.87755 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 88.84910 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 78.47286 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 70.36024 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 60.88044 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 93.80143 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 86.34206 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 57.73672 </td> </tr> </tbody> </table> * You can also use __transmute()__ but then it will drop all the other columns. * It is much much better to compute new variables in R than in Excel, because you can easily track and correct errors. --- ## Using the pipe operator you can chain operations ```r samples_select <- samples %>% dplyr::select(sample_number:nanoeuks, level) %>% dplyr::mutate(pico_pct = picoeuks/(picoeuks+nanoeuks)*100) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 72.68293 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 90.99124 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 93.87755 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 88.84910 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 78.47286 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 70.36024 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 60.88044 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 93.80143 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 86.34206 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 57.73672 </td> </tr> </tbody> </table> --- ## Creating labels with mutate and stringr functions ```r samples <- samples %>% dplyr::mutate(sample_label = str_c("TR",transect,"St",station, sep="_")) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:left;"> sample_label </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 01:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_1_St_81 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 13:30:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_1_St_85 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_96 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_96 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 23:50:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_96 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_98 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_98 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 05:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_98 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1899-12-31 17:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_1_St_86 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 1899-12-31 12:00:00 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> TR_2_St_101 </td> </tr> </tbody> </table> --- ## Changing type of some columns - mutate ```r samples <- samples %>% dplyr::mutate(time = str_c(lubridate::hour(time), lubridate::minute(time), sep=":")) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 72.68293 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;"> 90.99124 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> <td style="text-align:right;"> 93.87755 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.23 </td> <td style="text-align:right;"> 22.6 </td> <td style="text-align:right;"> 33.7 </td> <td style="text-align:right;"> 88.84910 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> <td style="text-align:right;"> 0.56 </td> <td style="text-align:right;"> 0.21 </td> <td style="text-align:right;"> 20.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 78.47286 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 5:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> <td style="text-align:right;"> 70.36024 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 5:0 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 23.7 </td> <td style="text-align:right;"> 37.2 </td> <td style="text-align:right;"> 60.88044 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 5:0 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 22.9 </td> <td style="text-align:right;"> 37.0 </td> <td style="text-align:right;"> 93.80143 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 86.34206 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 12:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;"> 57.73672 </td> </tr> </tbody> </table> * Use the `lubridate` package to manipulate dates --- layout: true # Manipulating rows --- ## Order rows - arrange ```r samples <- samples %>% dplyr::arrange(transect, station) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:left;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.48 </td> <td style="text-align:right;"> 22.7 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 52.81135 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 0.16 </td> <td style="text-align:right;"> 0.90 </td> <td style="text-align:right;"> 22.8 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 54.57674 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.50 </td> <td style="text-align:right;"> 21.2 </td> <td style="text-align:right;"> 36.4 </td> <td style="text-align:right;"> 51.44640 </td> </tr> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7651 </td> <td style="text-align:right;"> 4845 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.07 </td> <td style="text-align:right;"> 19.7 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 61.22759 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7343 </td> <td style="text-align:right;"> 3258 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.07 </td> <td style="text-align:right;"> 19.7 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 69.26705 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 72.68293 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3181 </td> <td style="text-align:right;"> 1235 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 72.03351 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;"> 90.99124 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 86.34206 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;"> 6189 </td> <td style="text-align:right;"> 622 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.51 </td> <td style="text-align:right;"> 19.5 </td> <td style="text-align:right;"> 36.1 </td> <td style="text-align:right;"> 90.86771 </td> </tr> </tbody> </table> * Station 6 is not ordered numerically. It is because __station__ is a character column. --- ## Order rows - transform to numeric ```r samples <- samples %>% dplyr::mutate(station = as.numeric(station)) %>% dplyr::arrange(transect, station) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7651 </td> <td style="text-align:right;"> 4845 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.07 </td> <td style="text-align:right;"> 19.7 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 61.22759 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7343 </td> <td style="text-align:right;"> 3258 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.07 </td> <td style="text-align:right;"> 19.7 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 69.26705 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.48 </td> <td style="text-align:right;"> 22.7 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 52.81135 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 0.16 </td> <td style="text-align:right;"> 0.90 </td> <td style="text-align:right;"> 22.8 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 54.57674 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.50 </td> <td style="text-align:right;"> 21.2 </td> <td style="text-align:right;"> 36.4 </td> <td style="text-align:right;"> 51.44640 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 72.68293 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3181 </td> <td style="text-align:right;"> 1235 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.26 </td> <td style="text-align:right;"> 17.3 </td> <td style="text-align:right;"> 35.9 </td> <td style="text-align:right;"> 72.03351 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.22 </td> <td style="text-align:right;"> 21.3 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;"> 90.99124 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> <td style="text-align:right;"> 0.34 </td> <td style="text-align:right;"> 0.15 </td> <td style="text-align:right;"> 20.9 </td> <td style="text-align:right;"> 36.3 </td> <td style="text-align:right;"> 86.34206 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;"> 6189 </td> <td style="text-align:right;"> 622 </td> <td style="text-align:right;"> 0.47 </td> <td style="text-align:right;"> 1.51 </td> <td style="text-align:right;"> 19.5 </td> <td style="text-align:right;"> 36.1 </td> <td style="text-align:right;"> 90.86771 </td> </tr> </tbody> </table> * One station named "Bloom" could not be converted to numerical (-> NA) --- ## Summarize rows - count * Compute number of stations per transect ```r stations_count <- samples %>% dplyr::count(transect) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> n </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 0 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 5 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 5 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 18 </td> </tr> </tbody> </table> --- ## Summarize rows - group_by / summarize * Group by transect and station * Compute mean of the percent picoplankton ```r samples_mean <- samples %>% dplyr::group_by(transect, station) %>% dplyr::summarise(n_samples = n(), mean_pico_percent = mean(pico_pct, na.rm=TRUE)) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:right;"> n_samples </th> <th style="text-align:right;"> mean_pico_percent </th> </tr> </thead> <tbody> <tr> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 2 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 65.24732 </td> </tr> <tr> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 52.81135 </td> </tr> <tr> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 54.57674 </td> </tr> <tr> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 51.44640 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 2 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 72.35822 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 90.99124 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 86.34206 </td> </tr> <tr> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 90.86771 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 87.06651 </td> </tr> <tr> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 75.01403 </td> </tr> </tbody> </table> --- ## Filtering rows - filter * Get only the surface samples ```r samples_surf <- samples %>% dplyr::filter(level == "Surf") ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> <th style="text-align:right;"> phosphates </th> <th style="text-align:right;"> nitrates </th> <th style="text-align:right;"> temperature </th> <th style="text-align:right;"> salinity </th> <th style="text-align:right;"> pico_pct </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.48 </td> <td style="text-align:right;"> 22.7 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 52.81135 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 0.16 </td> <td style="text-align:right;"> 0.90 </td> <td style="text-align:right;"> 22.8 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 54.57674 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> <td style="text-align:right;"> 0.20 </td> <td style="text-align:right;"> 0.50 </td> <td style="text-align:right;"> 21.2 </td> <td style="text-align:right;"> 36.4 </td> <td style="text-align:right;"> 51.44640 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 0.43 </td> <td style="text-align:right;"> 0.19 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 33.5 </td> <td style="text-align:right;"> 93.87755 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 23.1 </td> <td style="text-align:right;"> 35.7 </td> <td style="text-align:right;"> 70.36024 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.14 </td> <td style="text-align:right;"> 23.5 </td> <td style="text-align:right;"> 36.5 </td> <td style="text-align:right;"> 57.73672 </td> </tr> <tr> <td style="text-align:left;"> 155 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 355 </td> <td style="text-align:right;"> 18 </td> <td style="text-align:right;"> 0.25 </td> <td style="text-align:right;"> 0.37 </td> <td style="text-align:right;"> 23.0 </td> <td style="text-align:right;"> 36.9 </td> <td style="text-align:right;"> 95.17426 </td> </tr> <tr> <td style="text-align:left;"> 165 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 728 </td> <td style="text-align:right;"> 226 </td> <td style="text-align:right;"> 0.29 </td> <td style="text-align:right;"> 0.28 </td> <td style="text-align:right;"> 22.4 </td> <td style="text-align:right;"> 36.4 </td> <td style="text-align:right;"> 76.31027 </td> </tr> <tr> <td style="text-align:left;"> Trichod.1 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 1002 </td> <td style="text-align:right;"> 194 </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> 83.77926 </td> </tr> <tr> <td style="text-align:left;"> Trichod.2 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 744 </td> <td style="text-align:right;"> 206 </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> 78.31579 </td> </tr> </tbody> </table> * ! Use the logical operators __==__ != > >= < <= is.na() --- layout: true # Joining tables --- <img src="img/sql_inner_join.png" width="50%" style="display: block; margin: auto;" /> --- Very often you have tables that contain a common field and that you need to __join__ together. -- A common example in oceanography. After a cruise you have many tables Tables : * Stations - Station #, Longitude, Latitude * Cast (CTD) - Station #, Cast #, Depth, Temp, Sal (continuous) * Bottles - Cast #, Depth, Bottle # * Water samples - Bottle #, Sample # * Biological samples - Sample #, Analysis # You want to know the Longitude and Latitude of a given biological sample. -- Analysis # -> Sample # -> Bottle # -> Cast # -> Station # -> Long, Lat In order to join 2 tables, they must have a common field. It is called the __KEY__. For example it can be Bottle #, Station # --- background-image: url(img/carbom_excel_sequences.png) background-position: right 80px top 80px background-size: 35% ## Sequence samples (metabarcoding) .pull-left[ * Each sample has been split into 2 fractions by sorting : pico- and nano * These separate samples have then been sequenced to determine the composition of the plankton community ] --- ## Reading table with sequence samples ```r sequences <- readxl::read_excel("data/CARBOM data.xlsx", sheet = "Samples_sequencing") ``` <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_number </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> </tr> </tbody> </table> -- ## Using only a subset of the columns in the sample table ```r samples_select <- samples %>% dplyr::select(sample_number:longitude) ``` --- * Table sequences <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_number </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> </tr> </tbody> </table> * Table samples_select <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> </tr> <tr> <td style="text-align:left;background-color: lightyellow !important;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> </tr> </tbody> </table> * The two tables have a common field called __sample_number__ (KEY). --- ## Joining sequence and sample tables. ```r sequences_join <- left_join(sequences, samples_select) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_number </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X120p </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 76182 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X121n </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 52401 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X121p </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 71785 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X122n </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 78740 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X122p </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 37364 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> </tbody> </table> --- ## Joining columns with different names * If the __KEY__ do not have the same name in the two tables it is possible to specify the name of the two columns used for joining. ```r sequences <- sequences %>% rename(sample_code = sample_number) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_code </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> </tr> <tr> <td style="text-align:left;"> X120p </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 76182 </td> </tr> <tr> <td style="text-align:left;"> X121n </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 52401 </td> </tr> <tr> <td style="text-align:left;"> X121p </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 71785 </td> </tr> <tr> <td style="text-align:left;"> X122n </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 78740 </td> </tr> <tr> <td style="text-align:left;"> X122p </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 37364 </td> </tr> </tbody> </table> --- ## Joining columns with different names ```r sequences_join <- left_join(sequences, samples_select, by= c("sample_code" = "sample_number")) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_code </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;background-color: lightyellow !important;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;background-color: lightyellow !important;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X120p </td> <td style="text-align:left;background-color: lightyellow !important;"> 120 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 76182 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X121n </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 52401 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X121p </td> <td style="text-align:left;background-color: lightyellow !important;"> 121 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 71785 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X122n </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 78740 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X122p </td> <td style="text-align:left;background-color: lightyellow !important;"> 122 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 37364 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> </tbody> </table> --- ## Joining with missing data * Let us remove some samples from the sample table ```r samples_select <- samples_select %>% filter(sample_number != "10") ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> </tbody> </table> --- ## Joining with missing data ```r sequences_join <- left_join(sequences, samples_select, by= c("sample_code" = "sample_number")) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:left;"> sample_code </th> <th style="text-align:left;"> fraction </th> <th style="text-align:right;"> n_sequences </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> X10n </td> <td style="text-align:left;"> 10 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 53230 </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> </tr> <tr> <td style="text-align:left;"> X10p </td> <td style="text-align:left;"> 10 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 47390 </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:left;"> </td> <td style="text-align:right;"> </td> <td style="text-align:right;"> </td> </tr> <tr> <td style="text-align:left;"> X11n </td> <td style="text-align:left;"> 11 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 24007 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X11p </td> <td style="text-align:left;"> 11 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 31899 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> </tr> <tr> <td style="text-align:left;"> X120n </td> <td style="text-align:left;"> 120 </td> <td style="text-align:left;"> Nano </td> <td style="text-align:right;"> 70455 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> <tr> <td style="text-align:left;"> X120p </td> <td style="text-align:left;"> 120 </td> <td style="text-align:left;"> Pico </td> <td style="text-align:right;"> 76182 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> </tr> </tbody> </table> .student[ * What happened ? ] --- layout: true # Wide vs long tables --- <img src="img/tidyr.jpg" width="70%" style="display: block; margin: auto;" /> @allison_horst --- ## Go from wide to long - pivot_longer <img src="img/gathering.png" width="100%" style="display: block; margin: auto;" /> * This is very useful for statistical and plotting purposes --- ## Aim We want to have a column with type of phytoplankton and one column with abundance ```r samples_select <- samples %>% dplyr::select(sample_number:nanoeuks) ``` <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7651 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7343 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1005 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 793 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 907 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 856 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3278 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1232 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3181 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1235 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 16312 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1615 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6366 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1007 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6189 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 622 </td> </tr> </tbody> </table> --- ## Go from wide to long - pivot_longer ```r samples_long <- samples_select %>% tidyr::pivot_longer(picoeuks:nanoeuks, names_to="population", values_to="cell_ml" ) ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:left;"> population </th> <th style="text-align:right;"> cell_ml </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> picoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7651 </td> </tr> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> nanoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> picoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7343 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> nanoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> picoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1005 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> nanoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> picoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 793 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> nanoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> picoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 907 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:left;font-weight: bold;background-color: lightyellow !important;"> nanoeuks </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 856 </td> </tr> </tbody> </table> --- ## Go from long to wide - pivot_wider <img src="img/spreading.png" width="80%" style="display: block; margin: auto;" /> --- ## Go from long to wide - pivot_wider ```r samples_wide <- samples_long %>% tidyr::pivot_wider(names_from = "population", values_from="cell_ml") ``` -- <table class="table table-striped table-hover table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7651 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 7343 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1005 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 793 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 907 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 856 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3278 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1232 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 3181 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1235 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 16312 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1615 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6366 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 1007 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 6189 </td> <td style="text-align:right;font-weight: bold;background-color: lightyellow !important;"> 622 </td> </tr> </tbody> </table> --- layout: true # Display tables --- ## Default ```r samples_wide ``` ``` # A tibble: 28 x 11 sample_number transect station date time depth level latitude <chr> <dbl> <dbl> <dttm> <chr> <dbl> <chr> <dbl> 1 1 0 6 2013-10-31 00:00:00 5:20 45 Deep -23.6 2 2 0 6 2013-10-31 00:00:00 5:20 45 Deep -23.6 3 3 0 19 2013-11-02 00:00:00 13:30 5 Surf -25.8 4 5 0 21 2013-11-02 00:00:00 0:0 5 Surf -26.2 5 7 0 26 2013-11-03 00:00:00 19:30 5 Surf -27.3 6 10 1 81 2013-11-13 00:00:00 1:0 140 Deep -27.4 7 9 1 81 2013-11-13 00:00:00 1:0 140 Deep -27.4 8 11 1 85 2013-11-13 00:00:00 13:30 110 Deep -26.8 9 13 1 86 2013-11-13 00:00:00 17:0 105 Deep -26.3 10 15 1 87 2013-11-13 00:00:00 19:30 105 Deep -26.2 # ... with 18 more rows, and 3 more variables: longitude <dbl>, picoeuks <dbl>, # nanoeuks <dbl> ``` --- ## Package kableExtra ```r library(kableExtra) kbl(samples_wide) %>% kable_styling(font_size = 9) ``` <table class="table" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample_number </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> latitude </th> <th style="text-align:right;"> longitude </th> <th style="text-align:right;"> picoeuks </th> <th style="text-align:right;"> nanoeuks </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7651 </td> <td style="text-align:right;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7343 </td> <td style="text-align:right;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3181 </td> <td style="text-align:right;"> 1235 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;"> 6189 </td> <td style="text-align:right;"> 622 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> <tr> <td style="text-align:left;"> 141 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 1046 </td> <td style="text-align:right;"> 485 </td> </tr> <tr> <td style="text-align:left;"> 142 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 641 </td> <td style="text-align:right;"> 159 </td> </tr> <tr> <td style="text-align:left;"> 155 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 355 </td> <td style="text-align:right;"> 18 </td> </tr> <tr> <td style="text-align:left;"> 156 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 1800 </td> <td style="text-align:right;"> 300 </td> </tr> <tr> <td style="text-align:left;"> 157 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 6910 </td> <td style="text-align:right;"> 1152 </td> </tr> <tr> <td style="text-align:left;"> 165 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 728 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 166 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 578 </td> </tr> <tr> <td style="text-align:left;"> 167 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 80 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 722 </td> <td style="text-align:right;"> 390 </td> </tr> <tr> <td style="text-align:left;"> Trichod.1 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 1002 </td> <td style="text-align:right;"> 194 </td> </tr> <tr> <td style="text-align:left;"> Trichod.2 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 744 </td> <td style="text-align:right;"> 206 </td> </tr> <tr> <td style="text-align:left;"> Trichod.3 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 600 </td> <td style="text-align:right;"> 218 </td> </tr> </tbody> </table> --- ## Package kableExtra ```r kbl(samples_wide, col.names = c("sample", "transect", "station", "date", "time", "depth", "level", "lat", "long", "pico", "nano")) %>% kable_styling(font_size = 9) ``` <table class="table" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:left;"> sample </th> <th style="text-align:right;"> transect </th> <th style="text-align:right;"> station </th> <th style="text-align:left;"> date </th> <th style="text-align:left;"> time </th> <th style="text-align:right;"> depth </th> <th style="text-align:left;"> level </th> <th style="text-align:right;"> lat </th> <th style="text-align:right;"> long </th> <th style="text-align:right;"> pico </th> <th style="text-align:right;"> nano </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7651 </td> <td style="text-align:right;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7343 </td> <td style="text-align:right;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3181 </td> <td style="text-align:right;"> 1235 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;"> 6189 </td> <td style="text-align:right;"> 622 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> <tr> <td style="text-align:left;"> 141 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 1046 </td> <td style="text-align:right;"> 485 </td> </tr> <tr> <td style="text-align:left;"> 142 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 641 </td> <td style="text-align:right;"> 159 </td> </tr> <tr> <td style="text-align:left;"> 155 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 355 </td> <td style="text-align:right;"> 18 </td> </tr> <tr> <td style="text-align:left;"> 156 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 1800 </td> <td style="text-align:right;"> 300 </td> </tr> <tr> <td style="text-align:left;"> 157 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 6910 </td> <td style="text-align:right;"> 1152 </td> </tr> <tr> <td style="text-align:left;"> 165 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 728 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 166 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 578 </td> </tr> <tr> <td style="text-align:left;"> 167 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 80 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 722 </td> <td style="text-align:right;"> 390 </td> </tr> <tr> <td style="text-align:left;"> Trichod.1 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 1002 </td> <td style="text-align:right;"> 194 </td> </tr> <tr> <td style="text-align:left;"> Trichod.2 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 744 </td> <td style="text-align:right;"> 206 </td> </tr> <tr> <td style="text-align:left;"> Trichod.3 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 600 </td> <td style="text-align:right;"> 218 </td> </tr> </tbody> </table> --- ## Package kableExtra ```r kbl(samples_wide, linesep = "", col.names = c("sample", "transect", "station", "date", "time", "depth", "level", "lat", "long", "pico", "nano")) %>% kable_styling(font_size = 9, bootstrap_options = c("condensed") ) %>% add_header_above(header = c(" " = 9, "cell/ml"=2)) %>% scroll_box(width = "600px", height = "300px") ``` <div style="border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:300px; overflow-x: scroll; width:600px; "><table class="table table-condensed" style="font-size: 9px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="empty-cells: hide;border-bottom:hidden;position: sticky; top:0; background-color: #FFFFFF;" colspan="9"></th> <th style="border-bottom:hidden;padding-bottom:0; padding-left:3px;padding-right:3px;text-align: center; position: sticky; top:0; background-color: #FFFFFF;" colspan="2"><div style="border-bottom: 1px solid #ddd; padding-bottom: 5px; ">cell/ml</div></th> </tr> <tr> <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> sample </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> transect </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> station </th> <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> date </th> <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> time </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> depth </th> <th style="text-align:left;position: sticky; top:0; background-color: #FFFFFF;"> level </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> lat </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> long </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> pico </th> <th style="text-align:right;position: sticky; top:0; background-color: #FFFFFF;"> nano </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> 1 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7651 </td> <td style="text-align:right;"> 4845 </td> </tr> <tr> <td style="text-align:left;"> 2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 6 </td> <td style="text-align:left;"> 2013-10-31 </td> <td style="text-align:left;"> 5:20 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -23.58 </td> <td style="text-align:right;"> -41.78 </td> <td style="text-align:right;"> 7343 </td> <td style="text-align:right;"> 3258 </td> </tr> <tr> <td style="text-align:left;"> 3 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 19 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -25.79 </td> <td style="text-align:right;"> -40.36 </td> <td style="text-align:right;"> 1005 </td> <td style="text-align:right;"> 898 </td> </tr> <tr> <td style="text-align:left;"> 5 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 21 </td> <td style="text-align:left;"> 2013-11-02 </td> <td style="text-align:left;"> 0:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -26.23 </td> <td style="text-align:right;"> -40.09 </td> <td style="text-align:right;"> 793 </td> <td style="text-align:right;"> 660 </td> </tr> <tr> <td style="text-align:left;"> 7 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 26 </td> <td style="text-align:left;"> 2013-11-03 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.31 </td> <td style="text-align:right;"> -39.38 </td> <td style="text-align:right;"> 907 </td> <td style="text-align:right;"> 856 </td> </tr> <tr> <td style="text-align:left;"> 10 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3278 </td> <td style="text-align:right;"> 1232 </td> </tr> <tr> <td style="text-align:left;"> 9 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 81 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 1:0 </td> <td style="text-align:right;"> 140 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.42 </td> <td style="text-align:right;"> -44.72 </td> <td style="text-align:right;"> 3181 </td> <td style="text-align:right;"> 1235 </td> </tr> <tr> <td style="text-align:left;"> 11 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 13:30 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.80 </td> <td style="text-align:right;"> -45.30 </td> <td style="text-align:right;"> 16312 </td> <td style="text-align:right;"> 1615 </td> </tr> <tr> <td style="text-align:left;"> 13 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 86 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 17:0 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.33 </td> <td style="text-align:right;"> -45.41 </td> <td style="text-align:right;"> 6366 </td> <td style="text-align:right;"> 1007 </td> </tr> <tr> <td style="text-align:left;"> 15 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:right;"> 87 </td> <td style="text-align:left;"> 2013-11-13 </td> <td style="text-align:left;"> 19:30 </td> <td style="text-align:right;"> 105 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -26.22 </td> <td style="text-align:right;"> -45.48 </td> <td style="text-align:right;"> 6189 </td> <td style="text-align:right;"> 622 </td> </tr> <tr> <td style="text-align:left;"> 120 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1150 </td> <td style="text-align:right;"> 75 </td> </tr> <tr> <td style="text-align:left;"> 121 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 30 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 1737 </td> <td style="text-align:right;"> 218 </td> </tr> <tr> <td style="text-align:left;"> 122 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 96 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 23:50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.39 </td> <td style="text-align:right;"> -47.82 </td> <td style="text-align:right;"> 853 </td> <td style="text-align:right;"> 234 </td> </tr> <tr> <td style="text-align:left;"> 125 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3086 </td> <td style="text-align:right;"> 1300 </td> </tr> <tr> <td style="text-align:left;"> 126 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 1217 </td> <td style="text-align:right;"> 782 </td> </tr> <tr> <td style="text-align:left;"> 127 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 98 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 5:0 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.59 </td> <td style="text-align:right;"> -47.39 </td> <td style="text-align:right;"> 3420 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 140 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:right;"> 366 </td> </tr> <tr> <td style="text-align:left;"> 141 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 1046 </td> <td style="text-align:right;"> 485 </td> </tr> <tr> <td style="text-align:left;"> 142 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 101 </td> <td style="text-align:left;"> 2013-11-18 </td> <td style="text-align:left;"> 12:0 </td> <td style="text-align:right;"> 110 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -27.79 </td> <td style="text-align:right;"> -46.96 </td> <td style="text-align:right;"> 641 </td> <td style="text-align:right;"> 159 </td> </tr> <tr> <td style="text-align:left;"> 155 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 355 </td> <td style="text-align:right;"> 18 </td> </tr> <tr> <td style="text-align:left;"> 156 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 1800 </td> <td style="text-align:right;"> 300 </td> </tr> <tr> <td style="text-align:left;"> 157 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 106 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 2:30 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.12 </td> <td style="text-align:right;"> -46.17 </td> <td style="text-align:right;"> 6910 </td> <td style="text-align:right;"> 1152 </td> </tr> <tr> <td style="text-align:left;"> 165 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 5 </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 728 </td> <td style="text-align:right;"> 226 </td> </tr> <tr> <td style="text-align:left;"> 166 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 60 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 660 </td> <td style="text-align:right;"> 578 </td> </tr> <tr> <td style="text-align:left;"> 167 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> 114 </td> <td style="text-align:left;"> 2013-11-19 </td> <td style="text-align:left;"> 21:40 </td> <td style="text-align:right;"> 80 </td> <td style="text-align:left;"> Deep </td> <td style="text-align:right;"> -28.65 </td> <td style="text-align:right;"> -44.99 </td> <td style="text-align:right;"> 722 </td> <td style="text-align:right;"> 390 </td> </tr> <tr> <td style="text-align:left;"> Trichod.1 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 1002 </td> <td style="text-align:right;"> 194 </td> </tr> <tr> <td style="text-align:left;"> Trichod.2 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 744 </td> <td style="text-align:right;"> 206 </td> </tr> <tr> <td style="text-align:left;"> Trichod.3 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:left;"> NA </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Surf </td> <td style="text-align:right;"> -27.80 </td> <td style="text-align:right;"> -47.10 </td> <td style="text-align:right;"> 600 </td> <td style="text-align:right;"> 218 </td> </tr> </tbody> </table></div> --- layout: false class: inverse # Recap - Import and Export data - Select and create columns - Summarize data - Joining - Long vs. Wide format - Displaying tables --- layout: false # Next time: Data visualization (ggplot2) .pull-left[ ## What you will learn : * Understand the "grammar" of graphics * Create exploratory graphics * Finalize graphics for publications ] .pull-right[ <img src="img/R_for_datascience.png" width="30%" style="display: block; margin: auto;" /> ] .student[ * Please install the following packages and their dependencies * ggplot2 * patchwork * Download data files (links on slack) ] ## Reading list * [Chapter 28 of R for data science](https://r4ds.had.co.nz/graphics-for-communication.html) * *[Fundamental of data visualization](https://serialmentor.com/dataviz/)* * *[Data visualization: practical introduction](http://socviz.co/lookatdata.html#what-makes-bad-figures-bad)*