(, )^ or **/*+-2e-3# is a comment, R will ignore this!function_name(). Expressions inside the brackets are evaluated before being passed to the function, and functions can be nested.exp, sin, log, log10, log2 etc.<, <=, >, >=, ==, !=all.equal to compare numbers!<- is the assignment operator. Anything to the right is evaluate, then stored in a variable named to the left.ls lists all variables and functions you've createdrm can be used to remove them=.packrat package to create self-contained projectsinstall.packages to install packages from CRANlibrary to load a package into Rpackrat::status to check whether all packages referenced in your scripts have been installed.read.table to read in data in a regular structuresep argument to specify the separator
header=TRUE if there is a header row? or help() to seek help for a function.?? to search for a function.help("+").Basic data structures in R:
?vector (can only contain one type)?list (containers for other objects)?data.frame two dimensional objects whose columns can contain different types of data?matrix two dimensional objects that can contain only one type of data.?factor vectors that contain predefined categorical data.?array multi-dimensional objects that can only contain one type of dataRemember that matrices are really atomic vectors underneath the hood, and that data.frames are really lists underneath the hood (this explains some of the weirder behaviour of R).
Data types:
?numeric real (decimal) numbers?integer whole numbers only?character text?complex complex numbers?logical TRUE or FALSE valuesSpecial types:
?NA missing values?NaN "not a number" for undefined values (e.g. 0/0).?Inf, -Inf infinity.?NULL a data structure that doesn't existNA can occur in any atomic vector. NaN, and Inf can only occur in complex, integer or numeric type vectors. Atomic vectors are the building blocks for all other data structures. A NULL value will occur in place of an entire data structure (but can occur as list elements).
Useful functions for querying data structures:
?str structure, prints out a summary of the whole data structure?typeof tells you the type inside an atomic vector?class what is the data structure??head print the first n elements (rows for two-dimensional objects)?tail print the last n elements (rows for two-dimensional objects)?rownames, ?colnames, ?dimnames retrieve or modify the row names and column names of an object.?names retrieve or modify the names of an atomic vector or list (or columns of a data.frame).?length get the number of elements in an atomic vector?nrow, ?ncol, ?dim get the dimensions of a n-dimensional object (Won't work on atomic vectors or lists).: to generate a sequence of numbers to extract slices[ single square brackets:[ with two arguments to:[[ double square brackets to subset lists$ to access columns or list elements by namewrite.table to write out objects in regular formatquote=FALSE so that text isn't wrapped in " marks* applies element-wise to matrices%*% for true matrix multiplicationany() will return TRUE if any element of a vector is TRUEall() will return TRUE if all elements of a vector are TRUEif condition to start a conditional statement, else if condition to provide additional tests, and else to provide a default== to test for equality.X && Y is only true if both X and Y are TRUE.X || Y is true if either X or Y, or both, are TRUE.FALSE; all other numbers are considered TRUEreturn explictlyxxply family of functions to apply functions to groups within some data.array , data.frame or list corresponds to the input dataplyr family of functions on groups within data.ggplot to create the base figureaesthetics specify the data axes, shape, color, and data sizegeometry functions specify the type of plot, e.g. point, line, density, boxgeometry functions also add statistical transforms, e.g. geom_smoothscale functions change the mapping from data to aestheticsfacet functions stratify the figure into panelsaesthetics apply to individual layers, or can be set for the whole plot inside ggplot.theme functions change the overall look of the plotggsave to save a figure.