numeric                 package:base                 R Documentation

_N_u_m_e_r_i_c _V_e_c_t_o_r_s

_D_e_s_c_r_i_p_t_i_o_n:

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

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

  length: desired length.

       x: object to be coerced or tested.

     ...: further arguments passed to or from other methods.

_D_e_t_a_i_l_s:

     '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' (and 'as.real').

     'is.numeric' is generic: 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"' and '"POSIXt"' (in all three
     cases the result is 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).

_V_a_l_u_e:

     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)'.

_S_4 _m_e_t_h_o_d_s:

     'as.numeric' and 'is.numeric' are internally S4 generic and so
     methods can be set for them _via_ 'setMethod'.

     To ensure that 'as.numeric', 'as.double' and 'as.real' remain
     identical, S4 methods can only be set for 'as.numeric'.

_N_o_t_e _o_n _n_a_m_e_s:

     It is a historical anomaly that R has three names for its
     floating-point vectors, 'double', 'numeric' and '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"' (there was a formal class '"double"' prior to R
     2.7.0).

     'real' is deprecated and should not be used in new code.

     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.

_R_e_f_e_r_e_n_c_e_s:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

_S_e_e _A_l_s_o:

     'double', 'integer', 'storage.mode'.

_E_x_a_m_p_l_e_s:

     as.numeric(c("-.1"," 2.7 ","B")) # (-0.1, 2.7, NA)  +  warning
     as.numeric(factor(5:10))

