# sequential sum Classic List Threaded 4 messages Open this post in threaded view
|

## sequential sum

 Dear R users, I am trying to sum number that exist in another vector up to i, then increment i and repeat. Sorry. It's hard to explain but basically I am trying to do the following: test <- c(1,2,3,4); test2 <- c(3,5,6,7,2,8,8,4,4); test3 <- c(10,20,30,40); tmp <- 0; for (i in 1:length(test)){ tmp[i] <- sum(test3[which(test[1:i] %in% test2)]); } so when i = 1, tmp[i] = 0 because test=1 is not in test2 and when i = 3, tmp[i] = 50 = test3 + test3 because test[2:3] is in test2 Problem is test has 5000+ entries. How do I do the same thing without the loop? Thanks in advance.
Open this post in threaded view
|

## Re: sequential sum

 > -----Original Message----- > From: [hidden email] [mailto:r-help-bounces@r- > project.org] On Behalf Of baccts > Sent: Tuesday, February 14, 2012 9:04 AM > To: [hidden email] > Subject: [R] sequential sum > > Dear R users, > > I am trying to sum number that exist in another vector up to i, then > increment i and repeat. > Sorry. It's hard to explain but basically I am trying to do the > following: > test <- c(1,2,3,4); > test2 <- c(3,5,6,7,2,8,8,4,4); > test3 <- c(10,20,30,40); > tmp <- 0; > for (i in 1:length(test)){ > tmp[i] <- sum(test3[which(test[1:i] %in% test2)]); > } > > so when i = 1, tmp[i] = 0 because test=1 is not in test2 and > when i = 3, tmp[i] = 50 = test3 + test3 because test[2:3] is in > test2 > > Problem is test has 5000+ entries. How do I do the same thing without > the > loop? > > Thanks in advance. > Your example data is not very extensive so I don't know if this solution is general enough.  But, it does work with your data. tmp <- cumsum(ifelse(test %in% test2, test3, 0)) Hope this is helpful, Dan Daniel J. Nordlund Washington State Department of Social and Health Services Planning, Performance, and Accountability Research and Data Analysis Division Olympia, WA 98504-5204 ______________________________________________ [hidden email] mailing list 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.