Hi Kathryn, I think this might do the trick: make_group_sums<-function(x,maxgroups) { lenx<-length(x) runlengths<-sample(1:lenx,1) for(i in 2:(maxgroups-1)) { lenx<-lenx-runlengths[i-1] runlengths[i]<-ifelse(lenx,sample(1:lenx,1),0) } runlengths[maxgroups]<-length(x)-sum(runlengths) groups<-rep(1:maxgroups,runlengths) groupsums<-by(x,groups,sum) return(as.vector(groupsums)) }
Jim On Fri, Jan 23, 2015 at 7:45 PM, Kathryn Lord <kathryn.lord2...@gmail.com> wrote: > Dear R users, > > I have a quick quesiton. > > Here is a vector "a". > > a<- c(1,2,3,4,5,6,7,8). > > (In fact, I have a huge vector.) > > > With "a", I'd like to create new vectors, for example, > > new1 = (1+2, 3, 4+5+6, 7+8) > new2 = (1, 2+3+4+5+6+7, 8) > new3 = (1+2+3+4+5+6+7, 8) > > > How could I make the above vectors using R? > > > Any suggestion will be greatly appreciated. > > Best, > > Kathryn Lord > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.