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
String manipulation, insert delim
4 messages · Christopher Marcum, Gabor Grothendieck, jim holtman +1 more
Try this:
paste(read.fwf(textConnection(foo), bar, as.is = TRUE), collapse = ",")
[1] "have,a,nice,day"
On 6/18/07, Christopher Marcum <cmarcum at uci.edu> 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
______________________________________________ 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.
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20070618/da3080b4/attachment.pl
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