Hopefully Bert and William won't be offended if I more or less summarize: Are you assuming a loop will take ages, or have you actually tested it? I wouldn't assume a loop will take ages, or that it will take much longer than apply().
What's wrong with apply( X[ {logical expression } , ] , 1, function {do something} ) ? Where the logical expression identifies (by row index or any other method) which rows you need to work on. I would expect it to be faster to subset the rows first, rather than test for inclusion at every iteration within a loop. Also, if the data is acquired in such a way that you can know that the most recent set of measurements is the last n rows, then tail(X,n) might be good. For example, > foo <- matrix(1:20, ncol=2) > foo [,1] [,2] [1,] 1 11 [2,] 2 12 [3,] 3 13 [4,] 4 14 [5,] 5 15 [6,] 6 16 [7,] 7 17 [8,] 8 18 [9,] 9 19 [10,] 10 20 > tail(foo,4) [,1] [,2] [7,] 7 17 [8,] 8 18 [9,] 9 19 [10,] 10 20 -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 6/8/16, 9:41 AM, "R-help on behalf of John Logsdon" <r-help-boun...@r-project.org on behalf of 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.