Basic Workflow
The R environment is broken up into two main windows, the console and the script. The console window is the place where R is waiting for you to tell it what to do, and where it will show the results of a command. > mark that R is ready to take a command. + means the command is not complete, like you are missing a ) or }. You can type commands directly into the console, but they will be forgotten when you close the session.The script is a simple text (.R) file that stores your code. The point of a well constructed script is not just to “do stuff” but to do it in a way that maintains a complete record of your work so anyone can easily and exactly replicate your workflow and results.
Basic Operation
- # this is a comment in R
- Use x <- 3to assign a value,3, to a variable,x- =can also be used, but should be avoided EXCEPT in functions
 
- R counts from 1, unlike many other programming languages (e.g., Python)
- length(thing)returns the number of elements contained in the variable- thing.- dim(thing)returns length in multiple dimensions.
- c(value1, value2, value3)creates a vector
- container[i]selects the i’th element from the vector- container
- container[[i]]selects the i’th object from the object- container
- You’ll have to get familiar with the different class()of objects:- characteris text
- numericis numbers
- factoris categories
- logicalis TRUE / FALSE
 
- Objects can be grouped in many ways:
    - list()
- vector()or- c()
- matrix()
- data.frame()
 
Control Flow
- 
    Create a conditional using if,else if, andelseif(x > 0){ print("value is positive") } else if (x < 0){ print("value is negative") } else{ print("value is neither positive nor negative") }
- 
    Create a forloop to process elements in a collection one at a timefor (i in 1:5) { print(i) }
This will print:
	1
	2
	3
	4
	5
- Use ==to test for equality- 3 == 3, will return- TRUE,
- 'apple' == 'orange'will return- FALSE
 
- X & Yis- TRUEis both X and Y are true
- X | Yis- TRUEif either X or Y, or both are true
Functions
- 
    Defining a function: is_positive <- function(integer_value){ if(integer_value > 0){ TRUE else{ FALSE { }
In R, the last executed line of a function is automatically returned, otherwise use return() to be sure you know what the function is giving back to you.
- 
    Specifying a default value for a function argument increment_me <- function(value_to_increment, value_to_increment_by = 1){ value_to_increment + value_to_increment_by }
increment_me(4), will return 5
increment_me(4, 6), will return 10
- 
    Call a function by using function_name(function_arguments)
- 
    apply family of functions: apply(),sapply(),lapply(),mapply()apply(dat, MARGIN = 2, mean)will return the average (mean) of each column indat
Packages
- Install package by using install.packages("package-name")
- Update packages by using update.packages("package-name")
- Load packages by using library("package-name")
Math
Do math by simply typing or pasting in the console.
x+y
x*y
x**y
sum(vector)
mean(vector)
round(vector, decimal_places)
Scientific Commands
- Import data using read.csv(file, header = TRUE, sep = ",", …)
- Check out what you imported with names(),head(), andstr()
- Export results using write.csv(x, file, …)
- Many statistical functions are available (t.test(),lm(y~x))
Finding Help
Don’t be defeated by a coding problem, semantics confusion, or error messages. Find help:
help(function) or ?function - Input any function into the parentheses for useful syntax and function information. args() gives you the arguments of a function.
You can also check out the resources below or run a general engine search (i.e., r split character string). The hardest part here is finding the right keywords to use.
General Resources
Manual Directories
R Community Forums
How to ask for help
###Style Guides
