Round                  package:base                  R Documentation

_R_o_u_n_d_i_n_g _o_f _N_u_m_b_e_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     'ceiling' takes a single numeric argument 'x' and returns a
     numeric vector containing the smallest integers not less than the
     corresponding elements of 'x'.

     'floor' takes a single numeric argument 'x' and returns a numeric
     vector containing the largest integers not greater than the
     corresponding elements of 'x'.

     'round' rounds the values in its first argument to the specified
     number of decimal places (default 0). Note that for rounding off a
     5, the IEEE standard is used, "_go to the even digit_". Therefore
     'round(0.5)' is '0' and 'round(-1.5)' is '-2'.

     'signif' rounds the values in its first argument to the specified
     number of significant digits.

     'trunc' takes a single numeric argument 'x' and returns a numeric
     vector containing the integers by truncating the values in 'x'
     toward '0'.

     'zapsmall' determines a 'digits' argument 'dr' for calling
     'round(x, digits = dr)' such that values "close to zero" (compared
     with the maximal absolute one) are "zapped", i.e., treated as '0'.

_U_s_a_g_e:

     ceiling(x)
     floor(x)
     round(x, digits = 0)
     signif(x, digits = 6)
     trunc(x)
     zapsmall(x, digits = getOption("digits"))

_A_r_g_u_m_e_n_t_s:

       x: a numeric vector.

  digits: integer indicating the precision to be used.

_D_e_t_a_i_l_s:

     All but 'zapsmall' are generic functions: methods can be defined
     for them individually or via the 'Math' group generic.

_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. (except 'zapsmall'.)

     Chambers, J. M. (1998) _Programming with Data. A Guide to the S
     Language_. Springer. ('zapsmall'.)

_S_e_e _A_l_s_o:

     'as.integer'.

_E_x_a_m_p_l_e_s:

     round(.5 + -2:4) # IEEE rounding: -2  0  0  2  2  4  4
     ( x1 <- seq(-2, 4, by = .5) )
     round(x1)#-- IEEE rounding !
     x1[trunc(x1) != floor(x1)]
     x1[round(x1) != floor(x1 + .5)]
     (non.int <- ceiling(x1) != floor(x1))

     x2 <- pi * 100^(-1:3)
     round(x2, 3)
     signif(x2, 3)

     print   (x2 / 1000, digits=4)
     zapsmall(x2 / 1000, digits=4)
     zapsmall(exp(1i*0:4*pi/2))

