On Thu, 2006-10-12 at 12:07 -0500, Marc Schwartz wrote:
> On Thu, 2006-10-12 at 12:43 -0400, Charles Annis, P.E. wrote:
> > I have a vector, (not a list)
> > > repeated.measures.FACTOR.names
> > [1] "Insp1" "Insp2" "Insp3" "Insp4" "Insp5" "Insp6" "Insp7" "Insp8" "Insp9"
> >  
> > and would like to convert this into a single string
> > "Insp1,Insp2,Insp3,Insp4,Insp5,Insp6,Insp7,Insp8,Insp9"
> > 
> > I can do that with a loop, but isn't there a more elegant way?
> > 
> > > result <- repeated.measures.FACTOR.names[[1]]
> > > for(i in 2:length(repeated.measures.FACTOR.names)) {
> > result <- paste(result, repeated.measures.FACTOR.names[[i]], sep=",") }
> > > result
> > [1] "Insp1,Insp2,Insp3,Insp4,Insp5,Insp6,Insp7,Insp8,Insp9"
> > > 
> 
> paste() is vectorized and note the use of 'collapse' in lieu of 'sep':
> 
> > paste(repeated.measures.FACTOR.names, collapse = ",")
> [1] "Insp1,Insp2,Insp3,Insp4,Insp5,Insp6,Insp7,Insp8,Insp9"


Before I forget, you can also do the following to reconstruct the
initial sequence and the final result in a single step:

> paste("Insp", 1:9, sep = "", collapse = ",")
[1] "Insp1,Insp2,Insp3,Insp4,Insp5,Insp6,Insp7,Insp8,Insp9"


In this case, we use 'sep' to indicate that there should be no space
between each occurrence of 'Insp' and the integers and then use
'collapse' to indicate (as above) that each alphanum construct is to be
joined by a comma into a single element.

HTH,

Marc

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to