double                 package:base                 R Documentation

_D_o_u_b_l_e-_P_r_e_c_i_s_i_o_n _V_e_c_t_o_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     Create, coerce to or test for a double-precision vector.

_U_s_a_g_e:

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

     single(length = 0)
     as.single(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:

     'double' creates a double-precision vector of the specified
     length.  The elements of the vector are all equal to '0'. It is
     identical to 'numeric' (and 'real').

     'as.double' is a generic function.  It is identical to
     'as.numeric' (and 'as.real').  Methods should return an object of
     base type '"double"'.

     'is.double' is a test of double type.

     _R has no single precision data type.  All real numbers are stored
     in double precision format_.  The functions 'as.single' and
     'single' are identical to 'as.double' and 'double' except they set
     the attribute 'Csingle' that is used in the '.C' and '.Fortran'
     interface, and they are intended only to be used in that context.

_V_a_l_u_e:

     'double' creates a double-precision vector of the specified
     length.  The elements of the vector are all equal to '0'.

     'as.double' attempts to coerce its argument to be of double type:
     like 'as.vector' it strips attributes including names.  (To ensure
     that an object is of double type without stripping attributes, use
     'storage.mode'.) Character strings containing either a decimal
     representation or a hexadecimal representation (starting with '0x'
     or '0X') can be converted. 'as.double' for factors yields the
     codes underlying the factor levels, not the numeric representation
     of the labels, see also 'factor'.

     'is.double' returns 'TRUE' or 'FALSE' depending on whether its
     argument is of double type or not.

_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:

     'integer', 'numeric', 'storage.mode'.

_E_x_a_m_p_l_e_s:

     is.double(1)
     all(double(3) == 0)

