I have a vector, such as c(1, 3, 4, 5, 9, 10, 17, 29, 30) and I would like to group together the 'neighboring' elements that form a regular, consecutive sequence, i.e. an increase by 1, in a ragged vector resulting in: 
L1: 1
L2: 3,4,5
L3: 9,10
L4: 17
L5: 29,30  
Naive code (of an ex-C programmer):
partition.neighbors <- function(v)
{
    result <<- list() #jagged array
    currentList <<- v[1] #current series
    for(i in 2:length(v))
    {
        if(v[i] - v [i-1] == 1)
        {
            currentList <<- c(currentList, v[i])
        }
        else
        {
            result <<- c(result, list(currentList))
            currentList <<- v[i] #next series
        }       
    }
    return(result)  
}
Now I understand that
 a) R is not C (despite the curly brackets)
 b) global variables are pure evil 
c) that is a horribly inefficient way of achieving the result 
, so any better solutions are welcome.
 
     
     
     
     
     
    