Basic code execution
- When we run a chunk of code it runs from top to bottom in order
- It runs the first line, then the second line, and so on
- This means that order is important
- Write code to calculate a total number from density and area
density <- number / area
number <- c(9, 16, 3, 10)
area <- c(3, 5, 1.9, 2.7)
-
Returns an error because neither
number
orarea
exists yet - Within a line code executes everything before assignment the output to a variable
- So it starts to the right of the assignment operator
- Looks up the value for
number
-
Can’t find the variable and so errors
- Rearrange the code so that all variables are created before they are used
number <- c(9, 16, 3, 10)
area <- c(3, 5, 1.9, 2.7)
density <- number / area
- This executes in the following sequence
- The right hand side of the first line creates a vector
- It is then stored or “assigned” to the variable
number
- The second line then runs creating a vector and assigning it to the variable
area
- The third line first looks up the variable
number
and replaces it with its value - It then looks up the the variable
area
and replaces it with its value - It then divides those two vectors and assigns the resulting vector to the variable
density
Code executes inside to outside
- Code that is enclosed by brackets or parentheses executes before the surrounding code
density[density > 3]
- So this line is the same as
density_filter <- density > 3
density[density_filter]