"numeric".
is.numeric is a more general test of an object being
interpretable as numbers.
numeric(length = 0)
as.numeric(x, ...)
is.numeric(x)as.numeric and is.numeric are internally S4 generic and
so methods can be set for them via setMethod. To ensure that as.numeric and as.double
remain identical, S4 methods can only be set for as.numeric.double and numeric
(and formerly had real). double is the name of the type.
numeric is the name of the mode and also of the implicit
class. As an S4 formal class, use "numeric". The potential confusion is that R has used mode
"numeric" to mean double or integer, which conflicts
with the S4 usage. Thus is.numeric tests the mode, not the
class, but as.numeric (which is identical to as.double)
coerces to the class.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).
double, integer, storage.mode.
as.numeric(c("-.1"," 2.7 ","B")) # (-0.1, 2.7, NA) + warning
as.numeric(factor(5:10))
Run the code above in your browser using DataLab