Hi John, With due respect to the other respondents, here is something that might help:
# get a vector of values foo<-rnorm(100) # get a vector of increasing indices (aka your "recent" values) bar<-sort(sample(1:100,40)) # write a function to "clump" the adjacent index values clump_adj_int<-function(x) { index_list<-list(x[1]) list_index<-1 for(i in 2:length(x)) { if(x[i]==x[i-1]+1) index_list[[list_index]]<-c(index_list[[list_index]],x[i]) else { list_index<-list_index+1 index_list[[list_index]]<-x[i] } } return(index_list) } index_clumps<-clump_adj_int(bar) # write another function to sum the values sum_subsets<-function(indices,vector) return(sum(vector[indices],na.rm=TRUE)) # now "apply" the function to the list of indices lapply(index_clumps,sum_subsets,foo) Jim On Thu, Jun 9, 2016 at 2:41 AM, John Logsdon <j.logs...@quantex-research.com> wrote: > Folks > > Is there any way to get the row index into apply as a variable? > > I want a function to do some sums on a small subset of some very long > vectors, rolling through the whole vectors. > > apply(X,1,function {do something}, other arguments) > > seems to be the way to do it. > > The subset I want is the most recent set of measurements only - perhaps a > couple of hundred out of millions - but I can't see how to index each > value. The ultimate output should be a matrix of results the length of > the input vector. But to do the sum I need to access the current row > number. > > It is easy in a loop but that will take ages. Is there any vectorised > apply-like solution to this? > > Or does apply etc only operate on each row at a time, independently of > other rows? > > > Best wishes > > John > > John Logsdon > Quantex Research Ltd > +44 161 445 4951/+44 7717758675 > > ______________________________________________ > 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.