Arithmetic               package:base               R Documentation

Arithmetic Operators

Description:

     These binary operators perform arithmetic on numeric or complex
     vectors (or objects which can be coerced to them).

Usage:

     x + y
     x - y
     x * y
     x / y
     x ^ y
     x %% y
     x %/% y

Arguments:

    x, y: numeric or complex vectors or objects which can be coerced to
          such, or other objects for which methods have been written.

Details:

     The binary arithmetic operators are generic functions: methods can
     be written for them individually or via the 'Ops') group generic
     function.

     If applied to arrays the result will be an array if this is
     sensible (for example it will not if the recycling rule has been
     invoked).

     Logical vectors will be coerced to numeric vectors, 'FALSE' having
     value 0 and 'TRUE' having value one.

     '1 ^ y' and 'y ^ 0' are '1', _always_. 'x ^ y' should also give
     the proper "limit" result when either argument is infinite (i.e.,
     '+- Inf').

     Objects such as arrays or time-series can be operated on this way
     provided they are conformable.

Value:

     They return numeric vectors containing the result of the element
     by element operations.  The elements of shorter vectors are
     recycled as necessary (with a 'warning' when they are recycled
     only _fractionally_).  The operators are '+' for addition, '-' for
     subtraction, '*' for multiplication, '/' for division and '^' for
     exponentiation.

     '%%' indicates 'x mod y' and '%/%' indicates integer division.  It
     is guaranteed that 'x == (x %% y) + y * ( x %/% y )' unless 'y ==
     0' where the result is 'NA' or 'NaN' (depending on the 'typeof' of
     the arguments).

References:

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

See Also:

     'sqrt' for miscellaneous and 'Special' for special mathematical
     functions.

     'Syntax' for operator precedence.

Examples:

     x <- -1:12
     x + 1
     2 * x + 3
     x %% 2 #-- is periodic
     x %/% 5

