Chapter 1 Variables, Math, and Comparisons
1.1 Help
# Hi. This is a comment.
# If you know a function's name, but not how to use it:
?t.test
You can also click a function and press F1 to see the help page.
If you don’t know the exact name of a function or variable, you can type part of the name and press tab to autocomplete and see some info about it.
1.2 Assignment
= 6
a = 8
b = 5.44
c = TRUE
d = "hello world"
e = 'hello world' # same as double quote e
Note: No semicolon or “var” needed
You’ll sometimes see a <- 6
instead of a = 6
. Just use =
. Some people insist on using <-
. They are silly.
1.3 Names with weird characters
R allows names to have a .
, and it’s common in many built-in functions. For your own variables, avoid it if possible. If you want to have a space in a name, use an underscore (_
) instead of being ridiculous.
To learn how to access object members, see the lists chapter.
= 1
this.is.a.variable.name = 2 better_name
You can use any weird character like a space in a variable name by surrounding the name with `. Avoid it if you can, but sometimes it’s necessary when you load data from a file.
`more than four (>4)` = 5
1.4 Console Output
Print a
in the console
a
#> [1] 6
The [1]
is output because it is the first element in an array. For more info, see the arrays chapter.
Another option that’s useful inside functions, which don’t output most results
print(a)
#> [1] 6
1.5 Math
Arithmetic
= a + b
z = a - b
z = a * b
z = a / b
z = a %/% b # Integer division
z = a %% b # Note the double % for the modulo operator
z = a ^ b # exponent
z
1 + 2 - 3 * 4 / 5 ^ 6 # Please excuse my dear aunt, Sally
#> [1] 2.999232
Note: There is no ++ or +=
Functions for floats
floor(4.82)
#> [1] 4
ceiling(4.82)
#> [1] 5
Rounding
round(4.4) # round down
#> [1] 4
round(4.6) # round up
#> [1] 5
round(4.5) # round to even (down)
#> [1] 4
round(5.5) # round to even (up)
#> [1] 6
Other basic math functions
sin(pi/2) + cos(0) # radians, not degrees
#> [1] 2
log(exp(2)) # base e (like ln) is the default
#> [1] 2
log(100, 10) # use base 10
#> [1] 2
1.6 Comparisons
== b a
#> [1] FALSE
!= b a
#> [1] TRUE
> b a
#> [1] FALSE
< b a
#> [1] TRUE
>= b a
#> [1] FALSE
<= b a
#> [1] TRUE
1.7 Boolean
TRUE & FALSE
#> [1] FALSE
TRUE | FALSE
#> [1] TRUE
!TRUE
#> [1] FALSE
There’s &
and &&
. You usually want just &
.