rle                   package:base                   R Documentation

_R_u_n _L_e_n_g_t_h _E_n_c_o_d_i_n_g

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

     Compute the lengths and values of runs of equal values in a vector
     - or the reverse operation.

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

     rle(x)
     inverse.rle(x, ...)

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

       x: an atomic vector for 'rle()'; an object of class '"rle"' for
          'inverse.rle()'.

     ...: further arguments which are ignored in R.

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

     Missing values are regarded as unequal to the previous value, even
     if that is also missing.

     'inverse.rle()' is the inverse function of 'rle()', reconstructing
     'x' from the runs.

_V_a_l_u_e:

     'rle()' returns an object of class '"rle"' which is a list with
     components: 

 lengths: an integer vector containing the length of each run.

  values: a vector of the same length as 'lengths' with the
          corresponding values.


     'inverse.rle()' returns an atomic vector.

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

     x <- rev(rep(6:10, 1:5))
     rle(x)
     ## lengths [1:5]  5 4 3 2 1
     ## values  [1:5] 10 9 8 7 6

     z <- c(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE)
     rle(z)
     rle(as.character(z))

     stopifnot(x == inverse.rle(rle(x)),
               z == inverse.rle(rle(z)))

