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@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.