[R] Spliting a huge vector

Dave Evens devens8765 at yahoo.com
Wed Sep 20 23:19:04 CEST 2006


Dear R users,

I have a huge vector that I would like to split into
unequal slices. However, the only way I can do this is
to create another huge vector to define the groups
that are used to split the original vector, e.g.

# my vector is this
a.vector <- seq(2, by=5, length=100)

# indices where I would like to slice my vector
cut.values <- c(30, 50, 100, 109, 300, 601, 803)

# so I have to create another vector of similar length
# to use the split() command, i.e.
x <- rep(1:length(cut.values), times=diff(c(0,
cut.values))

# this means I can use split()
split(a.vector, x)

This seems to be a waste in terms of memory usage as
I'm creating another vector (here "x") to split the
original vector. Is there a better way to split a huge
vector than this? Any help is much appreciated. 

Best,
Dave.



More information about the R-help mailing list