Re: [R] String manipulation, insert delim

From: Marc Schwartz <marc_schwartz_at_comcast.net>
Date: Mon, 18 Jun 2007 19:56:57 -0500

On Mon, 2007-06-18 at 16:54 -0700, Christopher Marcum wrote:
> Hello All,
>
> I've been using R for two years now and I am happy to say this is the
> first time I could not find the answer to my problem in the R-help
> archives. Here is the pending problem:
>
> I want to be able to insert delimiters, say commas, into a string of
> characters at uneven intervals such that:
>
> foo<-c("haveaniceday")#my string of character
> bar<-c(4,1,4,3) # my vector of uneven intervals
>
> my.fun(foo,bar) # some function that places delimiters appropriately
>
> have,a,nice,day # what the function would ideally return
>
> I've tried multiple for-loops using cut and paste but have not had success.
>
> Thanks!
> Chris Marcum
> UCI Sociology

One more variation on the replies already provided:

foo <- c("haveaniceday")
bar <- c(4, 1, 4, 3)

insert.char <- function(x, at, char = ",") {

   cs.at <- cumsum(at)
   vec <- unlist(strsplit(x, ""))
   for (i in seq(length(cs.at) - 1))
     vec <- append(vec, char, cs.at[i] + i - 1)    paste(vec, collapse = "")
}

> insert.char(foo, bar)

[1] "have,a,nice,day"

See ?append

HTH, Marc Schwartz



R-help_at_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. Received on Tue 19 Jun 2007 - 01:01:44 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 19 Jun 2007 - 01:32:13 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.