ID EN
Data Types & Classes

numeric

R Base 3.6.2

Creates or coerces objects of type "numeric". is.numeric is a more general test of an object being interpretable as numbers.

Syntax

R
numeric(length = 0)
as.numeric(x, …)
is.numeric(x)

Arguments

Parameter Description
length A non-negative integer specifying the desired length. Double values will be coerced to integer: supplying an argument of length other than one is an error.
x object to be coerced or tested.
… further arguments passed to or from other methods.

Return Value

for numeric and as.numeric see double. The default method for is.numeric returns TRUE if its argument is of mode "numeric" (type "double" or type "integer") and not a factor, and FALSE otherwise. That is, is.integer(x) || is.double(x), or (mode(x) == "numeric") && !is.factor(x).

Details

numeric is identical to double (and real). It creates a double-precision vector of the specified length with each element equal to 0. as.numeric is a generic function, but S3 methods must be written for as.double. It is identical to as.double. is.numeric is an internal generic primitive function: you can write methods to handle specific classes of objects, see InternalMethods. It is not the same as is.double. Factors are handled by the default method, and there are methods for classes "Date", "POSIXt" and "difftime" (all of which return false). Methods for is.numeric should only return true if the base type of the class is double or integer and values can reasonably be regarded as numeric (e.g., arithmetic on them makes sense, and comparison should be done via the base type).

Examples

Example
R
# NOT RUN {
as.numeric(c("-.1"," 2.7 ","B")) # (-0.1, 2.7, NA)  +  warning

as.numeric(factor(5:10)) # not what you'd expect
f <- factor(1:5)
## what you typically meant and want:
as.numeric(as.character(f))
## the same, considerably (for long factors) more efficient:
as.numeric(levels(f))[f]
# }

See Also

double integer storage.mode.