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 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 b
c
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_part
i
> 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 ...
Get R in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.