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