# sum of grouped elements of vector

5 messages
Open this post in threaded view
|

## sum of grouped elements of vector

 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]] ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: sum of grouped elements of vector

 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 <[hidden email]> 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]] > > ______________________________________________ > [hidden email] 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. ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: sum of grouped elements of vector

 In reply to this post by Kathie If Jim's answer is not what you want, then I would say it is because your question is too vague to be answered. In particular, how do you specify the elements of the vector that are to be summed to create the new vectors? ?tapply might then be relevant here, but that's just a guess. -- Bert Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374 "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." Clifford Stoll On Fri, Jan 23, 2015 at 12:45 AM, Kathryn Lord <[hidden email]> 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]] > > ______________________________________________ > [hidden email] 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. ______________________________________________ [hidden email] mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.