

Round {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 inte-
     gers 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'' values 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= .Options$digits)

_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)]
     all(trunc(x1) == as.integer(x1))# TRUE
     non.int <- ceiling(x1) != floor(x1)
     all(non.int == (ceiling(x1) != trunc(x1) | trunc(x1) != floor(x1)))
     # TRUE
     all((signif(x1, 1) != round(x1,1)) == (non.int & abs(x1)>1)) # TRUE

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

