[R] Successive subsets from a vector?

Charles C. Berry cberry at tajo.ucsd.edu
Tue Aug 22 19:13:19 CEST 2006



Like this:
> do.call( paste, c( list(sep=""), lapply(1:5,function(x) VECTOR[x:(length(VECTOR)-5+x)]) ))
[1] "14265"   "42650"   "265011"  "6501110" "5011104" "0111043" "1110436" "104368"  "43686"
>

HTH,

Chuck

On Tue, 22 Aug 2006, kone wrote:

> I'd like to pick every imbricated five character long subsets from a
> vector. I guess there is some efficient way to do this without loops...
> Here is a for-loop-version and a model for output:
>
> VECTOR=c(1,4,2,6,5,0,11,10,4,3,6,8,6);
>
> ADDRESSES=c();
> for(i in 1:(length(VECTOR)-4)){
> 	ADDRESSES[i]=paste(VECTOR[i:(i+4)],collapse="")
> }
>
> > ADDRESSES
> [1] "14265"   "42650"   "265011"  "6501110" "5011104" "0111043"
> "1110436" "104368"
> [9] "43686"
>
>
> Atte Tenkanen
> University of Turku, Finland
>
> 	[[alternative text/enriched version deleted]]
>
>
>
>    [ Part 3.64: "Included Message" ]
>

Charles C. Berry                        (858) 534-2098
                                          Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu	         UC San Diego
http://biostat.ucsd.edu/~cberry/         La Jolla, San Diego 92093-0717



More information about the R-help mailing list