Constants
Let’s start by looking at constants. Constants are the basic building blocks for data objects in R: numbers, character values, and symbols.
Numeric Vectors
Numbers are interpreted literally in R:
> 1.1 [1] 1.1 > 2 [1] 2 > 2^1023 [1] 8.988466e+307
You may specify values in hexadecimal notation by prefixing them with 0x:
> 0x1 [1] 1 > 0xFFFF [1] 65535
By default, numbers in R expressions are interpreted as double-precision floating-point numbers, even when you enter simple integers:
> typeof(1) [1] "double"
If you really want an integer, you can use the sequence
notation or the as function to
obtain an integer:
> typeof(1:1) [1] "integer" > typeof(as(1,"integer")) [1] "integer"
The sequence operator
will return a vector of integers between a:b and a. To combine
an arbitrary set of numbers into a vector, use the bc function:
> v <- c(173,12,1.12312,-93)
R allows a lot of flexibility when entering numbers. However, there is a limit to the size and precision of numbers that R can represent:
# limits of precision > (2^1023 + 1) == 2^1023 [1] TRUE # limits of size > 2^1024 [1] Inf
In practice, this is rarely a problem. Most R users will load data from other sources on a computer (like a database) that also can’t represent very large numbers.
R also supports complex numbers. Complex values are written as
real_part+.
For example:imaginary_parti
> 0+1i ^ 2 [1] -1+0i > sqrt(-1+0i) [1] 0+1i > exp(0+1i * pi) [1] -1+0i
Note that the sqrt function returns a value of the same type as its input; it will ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access