milton ruser wrote: > Hi Maura, > > It is not "elegant" but may work. > > > actual.string<- "12345abcdefgh12345abcdefgh" > actual.string > actual.string<-paste(substr(actual.string, > nchar(actual.string),nchar(actual.string)), > substr(actual.string, 1,nchar(actual.string)-1), sep="") > actual.string > > > #in a looping > > actual.string<- "12345abcdefgh12345abcdefgh" > number.buffers<-10 > my.buffers<-actual.string > for (i in 1:number.buffers) > { > actual.string<-paste(substr(actual.string, > nchar(actual.string),nchar(actual.string)), > substr(actual.string, 1,nchar(actual.string)-1), sep="") > my.buffers<-c(my.buffers, actual.string) > } > my.buffers > >
not sure if this is what you want, but it might provide a hint: circularize = function(string) { name = deparse(substitute(string)) index = 0 length = nchar(string) rm(list=name, envir=parent.frame()) makeActiveBinding( name, function(value, ...) if (missing(value)) { index <<- index %% length + 1 if (index == 1) string else paste( substr(string, index, length), substr(string, 1, index-1), sep='') } else stop(sprintf('cannot assign to circularized string "%s"', name)), parent.frame()) } string = 'foo' circularize(string) string # "foo" string # "oof" string # "ofo" string # "foo" # ... > Ciao, > > milton > brazil=toronto > On Sun, May 24, 2009 at 1:09 PM, <mau...@alice.it> wrote: > > >> Some wavelet analysis experts have implemented periodic boundary conditions >> for signals. >> I need to implement a circular buffer. Something like: >> "12345abcdefgh12345abcdefgh" >> so that at each step the riightmost element is moved to the leftmost index >> and everything else is properly shifted: >> "h12345abcdefgh12345abcdefg", "gh12345abcdefgh12345abcdef", .... >> >> My implementation (still debugging) seems to start working but is terribly >> clumsy. >> I am sure that some expert can suggest a more elegant solution, >> Thank you. >> Maura >> >> >> >> tutti i telefonini TIM! >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. >> >> > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org 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.