Packages

dplyr
tidyverse package for manipulating data, contains the mutate(), filter(), select(), full_join() functions and includes the %>% operator (from the magrittr package)

ggplot2
tidyverse package for data visualisation

readr
tidyverse package for reading data into R, contains the read_tsv() function

tidyr
tidyverse package for data tidying, contains the pivot_longer() function

tidyverse
a collection of packages that work together for data reading, tidying, manipulating and visualising

 

Functions

c()
combine values (from base R)

case_when()
test multiple conditions (from dplyr), useful inside mutate() when creating columns

colnames()
access column names (from base R)

colours()
see the built-in R colours (from base R)

dev.off()
turn off the R graphics device (from base R). Used after e.g. pdf(), png().

dim()
retrieve the dimensions of an object, for example, the number of rows and columns (from base R)

factor()
convert values to factor data type (from base R)

filter()
choose rows (from dplyr)

full_join()
joins 2 tables returning all rows and all columns from both tables.

getwd()
find out what the working directory is (get working directory)

ggplot()
function used to create a ggplot (from ggplot2)

head()
selecting the first part of an object (from base R). Default is to show the first 6 items.

labs()
modify title, axis and legend labels on a ggplot (from ggplot2)

levels()
retrieve the levels (category names) of a factor (from base R)

library()
load packages (from base R)

log2()
compute the log2 (base 2) logarithms (from base R)

mutate()
add columns (from dplyr)

pdf()
create a pdf, used with dev.off() (from base R)

pivot_longer()
function that enables converting from wide to long (tidy) format (from dplyr)

pull()
extract values e.g. out of a column (from dplyr)

read_csv()
read a comma-separated file into R (from readr)

read_tsv()
read a tab-separated file into R (from readr)

select()
choose columns (from dplyr)

str()
showing the structure of an object (from base R). Useful for checking data types.

summary()
producing a summary of an object (from base R). Useful for getting summary statistics of numeric columns (min, max, mean, median)

tail()
selecting the last part of an object (from base R). Default is to show the last 6 items.

View()
invoke a spreadsheet-like viewer on an R object (from base R)

 

Terms

argument
an input to a function

assignment operator
<- assigns values to objects, assigns a value on the right to an object on the left (from base R)

character
a data type in R, used to represent character strings, quotes indicate the data type is character

console
a window where you can interactively type in commands and the output is returned

double
a data type in R, used to represent numbers containing a decimal point (integer is the data type for numbers without decimal point)

factor
a data type in R, used to represent categories

function
a pre-defined set of commands used to perform a task, can be loaded in from packages or user-created

geom
type of ggplot e.g. geom_line(), geom_point(), geom_jitter(), geom_boxplot(), geom_violin()

object
everything in R is an object. The assignment operator <- can be used to create objects. Note that what R calls objects are called variables in other languages such as Python.

package
a package is a collection of functions and usually includes code, documentation, tests and example datasets.

pipe
%>% operator chains together tidyverse commands (from the magrittr package)

scales
scale_fill_manual(), scale_colour_manual(), scale_fill_brewer(), scale_colour_brewer(). Use to specify colours.

script
a text file containing commands, in R a script filename ends with .R

themes
the non-data components of a ggplot e.g. background, grid lines, font size and font type

working directory
the location (path) where R looks to read in data and save files

 

##Symbols##

>
prompt in console, means R is ready to take a command

 
+
used to add layers to a ggplot. Also the prompt symbol R uses when the command is not complete, such as missing a )

 
<-
assignment operator, see Terms above

 
#
comment, to add notes to a script

 
$
way to access a single column with base R e.g. counts$gene_symbol

 
%in%
operator used to test if a value is in a set of values

 
%>%
dplyr pipe operator, see Terms above

 
~
symbol to use when faceting in ggplot2, used to indicate the column to use to facet

LS0tCnRpdGxlOiAiSW50cm9kdWN0aW9uIHRvIFIgZm9yIEJpb2xvZ2lzdHMgY2hlYXRzaGVldCIKYXV0aG9yOiAiTWFyaWEgRG95bGUiCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCICVZJylgIgpvdXRwdXQ6CiAgcGRmX2RvY3VtZW50OgogICAgdG9jOiBubwogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA0CiAgICB0b2NfZmxvYXQ6IHllcwpzdWJ0aXRsZTogZ2xvc3Nhcnkgb2Ygdm9jYWJ1bGFyeSB1c2VkIGluIHRoZSBjb3Vyc2UKLS0tCgojIyBQYWNrYWdlcwoKKipkcGx5cioqICAKdGlkeXZlcnNlIHBhY2thZ2UgZm9yIG1hbmlwdWxhdGluZyBkYXRhLCBjb250YWlucyB0aGUgYG11dGF0ZSgpYCwgYGZpbHRlcigpYCwgYHNlbGVjdCgpYCwgYGZ1bGxfam9pbigpYCBmdW5jdGlvbnMgYW5kIGluY2x1ZGVzIHRoZSBgJT4lYCBvcGVyYXRvciAoZnJvbSB0aGUgbWFncml0dHIgcGFja2FnZSkKCioqZ2dwbG90MioqICAKdGlkeXZlcnNlIHBhY2thZ2UgZm9yIGRhdGEgdmlzdWFsaXNhdGlvbiAKCioqcmVhZHIqKiAgCnRpZHl2ZXJzZSBwYWNrYWdlIGZvciByZWFkaW5nIGRhdGEgaW50byBSLCBjb250YWlucyB0aGUgYHJlYWRfdHN2KClgIGZ1bmN0aW9uCgoqKnRpZHlyKiogIAp0aWR5dmVyc2UgcGFja2FnZSBmb3IgZGF0YSB0aWR5aW5nLCBjb250YWlucyB0aGUgYHBpdm90X2xvbmdlcigpYCBmdW5jdGlvbgoKKip0aWR5dmVyc2UqKiAgCmEgY29sbGVjdGlvbiBvZiBwYWNrYWdlcyB0aGF0IHdvcmsgdG9nZXRoZXIgZm9yIGRhdGEgcmVhZGluZywgdGlkeWluZywgbWFuaXB1bGF0aW5nIGFuZCB2aXN1YWxpc2luZwoKClwgCgoKIyMgRnVuY3Rpb25zCgoqKmBjKClgKiogIApjb21iaW5lIHZhbHVlcyAoZnJvbSBiYXNlIFIpICAKICAKKipgY2FzZV93aGVuKClgKiogIAp0ZXN0IG11bHRpcGxlIGNvbmRpdGlvbnMgKGZyb20gZHBseXIpLCB1c2VmdWwgaW5zaWRlIGBtdXRhdGUoKWAgd2hlbiBjcmVhdGluZyBjb2x1bW5zCiAgCioqYGNvbG5hbWVzKClgKiogIAphY2Nlc3MgY29sdW1uIG5hbWVzIChmcm9tIGJhc2UgUikKICAKKipgY29sb3VycygpYCoqICAKc2VlIHRoZSBidWlsdC1pbiBSIGNvbG91cnMgKGZyb20gYmFzZSBSKQogIAoqKmBkZXYub2ZmKClgKiogIAp0dXJuIG9mZiB0aGUgUiBncmFwaGljcyBkZXZpY2UgKGZyb20gYmFzZSBSKS4gVXNlZCBhZnRlciBlLmcuIGBwZGYoKWAsIGBwbmcoKWAuCiAgCioqYGRpbSgpYCoqICAKcmV0cmlldmUgdGhlIGRpbWVuc2lvbnMgb2YgYW4gb2JqZWN0LCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiByb3dzIGFuZCBjb2x1bW5zIChmcm9tIGJhc2UgUikKICAKKipgZmFjdG9yKClgKiogIApjb252ZXJ0IHZhbHVlcyB0byBmYWN0b3IgZGF0YSB0eXBlIChmcm9tIGJhc2UgUikKCioqYGZpbHRlcigpYCoqICAKY2hvb3NlIHJvd3MgKGZyb20gZHBseXIpCgoqKmBmdWxsX2pvaW4oKWAqKiAgCmpvaW5zIDIgdGFibGVzIHJldHVybmluZyBhbGwgcm93cyBhbmQgYWxsIGNvbHVtbnMgZnJvbSBib3RoIHRhYmxlcy4KCioqYGdldHdkKClgKiogIApmaW5kIG91dCB3aGF0IHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyAoZ2V0IHdvcmtpbmcgZGlyZWN0b3J5KQoKKipgZ2dwbG90KClgKiogIApmdW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSBhIGdncGxvdCAoZnJvbSBnZ3Bsb3QyKQoKKipgaGVhZCgpYCoqICAKc2VsZWN0aW5nIHRoZSBmaXJzdCBwYXJ0IG9mIGFuIG9iamVjdCAoZnJvbSBiYXNlIFIpLiBEZWZhdWx0IGlzIHRvIHNob3cgdGhlIGZpcnN0IDYgaXRlbXMuCgoqKmBsYWJzKClgKiogIAptb2RpZnkgdGl0bGUsIGF4aXMgYW5kIGxlZ2VuZCBsYWJlbHMgb24gYSBnZ3Bsb3QgKGZyb20gZ2dwbG90MikKCioqYGxldmVscygpYCoqICAKcmV0cmlldmUgdGhlIGxldmVscyAoY2F0ZWdvcnkgbmFtZXMpIG9mIGEgZmFjdG9yIChmcm9tIGJhc2UgUikKCioqYGxpYnJhcnkoKWAqKiAgCmxvYWQgcGFja2FnZXMgKGZyb20gYmFzZSBSKQoKKipgbG9nMigpYCoqICAKY29tcHV0ZSB0aGUgbG9nMiAoYmFzZSAyKSBsb2dhcml0aG1zIChmcm9tIGJhc2UgUikKCioqYG11dGF0ZSgpYCoqICAKYWRkIGNvbHVtbnMgKGZyb20gZHBseXIpCgoqKmBwZGYoKWAqKiAgCmNyZWF0ZSBhIHBkZiwgdXNlZCB3aXRoIGBkZXYub2ZmKClgIChmcm9tIGJhc2UgUikKCioqYHBpdm90X2xvbmdlcigpYCoqICAKZnVuY3Rpb24gdGhhdCBlbmFibGVzIGNvbnZlcnRpbmcgZnJvbSB3aWRlIHRvIGxvbmcgKHRpZHkpIGZvcm1hdCAoZnJvbSBkcGx5cikKCioqYHB1bGwoKWAqKiAgCmV4dHJhY3QgdmFsdWVzIGUuZy4gb3V0IG9mIGEgY29sdW1uIChmcm9tIGRwbHlyKQoKKipgcmVhZF9jc3YoKWAqKiAgCnJlYWQgYSBjb21tYS1zZXBhcmF0ZWQgZmlsZSBpbnRvIFIgKGZyb20gcmVhZHIpCgoqKmByZWFkX3RzdigpYCoqICAKcmVhZCBhIHRhYi1zZXBhcmF0ZWQgZmlsZSBpbnRvIFIgKGZyb20gcmVhZHIpCgoqKmBzZWxlY3QoKWAqKiAgCmNob29zZSBjb2x1bW5zIChmcm9tIGRwbHlyKQoKKipgc3RyKClgKiogIApzaG93aW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IChmcm9tIGJhc2UgUikuIFVzZWZ1bCBmb3IgY2hlY2tpbmcgZGF0YSB0eXBlcy4KCioqYHN1bW1hcnkoKWAqKiAgCnByb2R1Y2luZyBhIHN1bW1hcnkgb2YgYW4gb2JqZWN0IChmcm9tIGJhc2UgUikuIFVzZWZ1bCBmb3IgZ2V0dGluZyBzdW1tYXJ5IHN0YXRpc3RpY3Mgb2YgbnVtZXJpYyBjb2x1bW5zIChtaW4sIG1heCwgbWVhbiwgbWVkaWFuKQoKKipgdGFpbCgpYCoqICAKc2VsZWN0aW5nIHRoZSBsYXN0IHBhcnQgb2YgYW4gb2JqZWN0IChmcm9tIGJhc2UgUikuIERlZmF1bHQgaXMgdG8gc2hvdyB0aGUgbGFzdCA2IGl0ZW1zLgoKKipgVmlldygpYCoqICAKaW52b2tlIGEgc3ByZWFkc2hlZXQtbGlrZSB2aWV3ZXIgb24gYW4gUiBvYmplY3QgKGZyb20gYmFzZSBSKQoKClwgCgojIyBUZXJtcwoKKiphcmd1bWVudCoqICAKYW4gaW5wdXQgdG8gYSBmdW5jdGlvbgoKKiphc3NpZ25tZW50IG9wZXJhdG9yKiogIApgPC1gIGFzc2lnbnMgdmFsdWVzIHRvIG9iamVjdHMsIGFzc2lnbnMgYSB2YWx1ZSBvbiB0aGUgcmlnaHQgdG8gYW4gb2JqZWN0IG9uIHRoZSBsZWZ0IChmcm9tIGJhc2UgUikgCgoqKmNoYXJhY3RlcioqICAKYSBkYXRhIHR5cGUgaW4gUiwgdXNlZCB0byByZXByZXNlbnQgY2hhcmFjdGVyIHN0cmluZ3MsIHF1b3RlcyBpbmRpY2F0ZSB0aGUgZGF0YSB0eXBlIGlzIGNoYXJhY3RlcgoKKipjb25zb2xlKiogIAphIHdpbmRvdyB3aGVyZSB5b3UgY2FuIGludGVyYWN0aXZlbHkgdHlwZSBpbiBjb21tYW5kcyBhbmQgdGhlIG91dHB1dCBpcyByZXR1cm5lZAoKKipkb3VibGUqKiAgCmEgZGF0YSB0eXBlIGluIFIsIHVzZWQgdG8gcmVwcmVzZW50IG51bWJlcnMgY29udGFpbmluZyBhIGRlY2ltYWwgcG9pbnQgKGludGVnZXIgaXMgdGhlIGRhdGEgdHlwZSBmb3IgbnVtYmVycyB3aXRob3V0IGRlY2ltYWwgcG9pbnQpCgoqKmZhY3RvcioqICAKYSBkYXRhIHR5cGUgaW4gUiwgdXNlZCB0byByZXByZXNlbnQgY2F0ZWdvcmllcwoKKipmdW5jdGlvbioqICAgCmEgcHJlLWRlZmluZWQgc2V0IG9mIGNvbW1hbmRzIHVzZWQgdG8gcGVyZm9ybSBhIHRhc2ssIGNhbiBiZSBsb2FkZWQgaW4gZnJvbSBwYWNrYWdlcyBvciB1c2VyLWNyZWF0ZWQKCioqZ2VvbSoqICAKdHlwZSBvZiBnZ3Bsb3QgZS5nLiBgZ2VvbV9saW5lKClgLCBgZ2VvbV9wb2ludCgpYCwgYGdlb21faml0dGVyKClgLCBgZ2VvbV9ib3hwbG90KClgLCBgZ2VvbV92aW9saW4oKWAKCioqb2JqZWN0KiogIApldmVyeXRoaW5nIGluIFIgaXMgYW4gb2JqZWN0LiBUaGUgYXNzaWdubWVudCBvcGVyYXRvciBgPC1gIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBvYmplY3RzLiBOb3RlIHRoYXQgd2hhdCBSIGNhbGxzIG9iamVjdHMgYXJlIGNhbGxlZCB2YXJpYWJsZXMgaW4gb3RoZXIgbGFuZ3VhZ2VzIHN1Y2ggYXMgUHl0aG9uLgoKKipwYWNrYWdlKiogIAphIHBhY2thZ2UgaXMgYSBjb2xsZWN0aW9uIG9mIGZ1bmN0aW9ucyBhbmQgdXN1YWxseSBpbmNsdWRlcyBjb2RlLCBkb2N1bWVudGF0aW9uLCB0ZXN0cyBhbmQgZXhhbXBsZSBkYXRhc2V0cy4KCioqcGlwZSoqICAKYCU+JWAgb3BlcmF0b3IgY2hhaW5zIHRvZ2V0aGVyIHRpZHl2ZXJzZSBjb21tYW5kcyAoZnJvbSB0aGUgbWFncml0dHIgcGFja2FnZSkKCioqc2NhbGVzKiogIApzY2FsZV9maWxsX21hbnVhbCgpLCBzY2FsZV9jb2xvdXJfbWFudWFsKCksIHNjYWxlX2ZpbGxfYnJld2VyKCksIHNjYWxlX2NvbG91cl9icmV3ZXIoKS4gVXNlIHRvIHNwZWNpZnkgY29sb3Vycy4KCioqc2NyaXB0KiogIAphIHRleHQgZmlsZSBjb250YWluaW5nIGNvbW1hbmRzLCBpbiBSIGEgc2NyaXB0IGZpbGVuYW1lIGVuZHMgd2l0aCAuUgoKKip0aGVtZXMqKiAgCnRoZSBub24tZGF0YSBjb21wb25lbnRzIG9mIGEgZ2dwbG90IGUuZy4gYmFja2dyb3VuZCwgZ3JpZCBsaW5lcywgZm9udCBzaXplIGFuZCBmb250IHR5cGUKCioqd29ya2luZyBkaXJlY3RvcnkqKiAgCnRoZSBsb2NhdGlvbiAocGF0aCkgd2hlcmUgUiBsb29rcyB0byByZWFkIGluIGRhdGEgYW5kIHNhdmUgZmlsZXMKClwgCgojI1N5bWJvbHMjIwoKKipgPmAqKiAgCnByb21wdCBpbiBjb25zb2xlLCBtZWFucyBSIGlzIHJlYWR5IHRvIHRha2UgYSBjb21tYW5kCiAgIApcICAgIAoqKmArYCoqICAKdXNlZCB0byBhZGQgbGF5ZXJzIHRvIGEgZ2dwbG90LiBBbHNvIHRoZSBwcm9tcHQgc3ltYm9sIFIgdXNlcyB3aGVuIHRoZSBjb21tYW5kIGlzIG5vdCBjb21wbGV0ZSwgc3VjaCBhcyBtaXNzaW5nIGEgYClgCiAgClwgICAgCioqYDwtYCoqICAKYXNzaWdubWVudCBvcGVyYXRvciwgc2VlIFRlcm1zIGFib3ZlICAKClwgICAgCioqYCNgKiogIApjb21tZW50LCB0byBhZGQgbm90ZXMgdG8gYSBzY3JpcHQgIAogIApcICAgCioqYCRgKiogIAp3YXkgdG8gYWNjZXNzIGEgc2luZ2xlIGNvbHVtbiB3aXRoIGJhc2UgUiBlLmcuIGBjb3VudHMkZ2VuZV9zeW1ib2xgICAKICAKXCAgIAoqKmAlaW4lYCoqICAKb3BlcmF0b3IgdXNlZCB0byB0ZXN0IGlmIGEgdmFsdWUgaXMgaW4gYSBzZXQgb2YgdmFsdWVzICAKICAKXCAgIAoqKmAlPiVgKiogIApkcGx5ciBwaXBlIG9wZXJhdG9yLCBzZWUgVGVybXMgYWJvdmUgIAogIApcICAgCioqYH5gKiogIApzeW1ib2wgdG8gdXNlIHdoZW4gZmFjZXRpbmcgaW4gZ2dwbG90MiwgdXNlZCB0byBpbmRpY2F0ZSB0aGUgY29sdW1uIHRvIHVzZSB0byBmYWNldAo=