double                 package:base                 R Documentation

Double-Precision Vectors

Description:

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

Usage:

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

     single(length = 0)
     as.single(x, ...)

Arguments:

  length: desired length.

       x: object to be coerced or tested.

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

Details:

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

Value:

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

Note on names:

     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.

References:

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

See Also:

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

Examples:

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

