Mark -
The "l" in lapply refers to that fact that it will *return*
a list, not that it wants a list for input. You could input
a list, but then each element of the list would be one of the
values you wanted processed. So I think you want
x = seq(5:20)
ResultList = lapply(x, DoAvgCalcs, IndexData, Lookback=x,
SampleSize=TestSamples , Iterations=TestIterations )
This will return a list whose elements are the result of calling
the DoAvgCalcs function with each value contained in x. If they
were all the same length, and you wanted them simplified to a matrix,
you could use sapply (s for simplify) instead of lapply (l for list).
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spec...@stat.berkeley.edu
On Fri, 18 Sep 2009, Mark Knecht wrote:
Hi,
I'm trying to get better at things like lapply but it still stumps
me. I have a function I've written, tested and debugged using
individual calls to the function, ala:
ResultList5 = DoAvgCalcs(IndexData, Lookback=5,
SampleSize=TestSamples , Iterations=TestIterations )
ResultList8 = DoAvgCalcs(IndexData, Lookback=8,
SampleSize=TestSamples , Iterations=TestIterations )
ResultList13 = DoAvgCalcs(IndexData, Lookback=13,
SampleSize=TestSamples , Iterations=TestIterations )
ResultList21 = DoAvgCalcs(IndexData, Lookback=21,
SampleSize=TestSamples , Iterations=TestIterations )
The function returns a list of numbers which I use for processing
later. I'd like to run this on a longer list (100's of values for
Lookback) so my thought was to try lapply but so far I cannot get the
darn thing right.
Let's say I want to run the function on a string of values:
BarTestList = list(seq(5:20))
So my thought was something like:
x = list(seq(5:20))
ResultList = lapply(x, DoAvgCalcs, IndexData, Lookback=x,
SampleSize=TestSamples , Iterations=TestIterations )
which fails down lower complaining that what it's receiving for
Lookback isn't an integer:
x = list(seq(5:20))
ResultList = lapply(x, DoAvgCalcs, IndexData, Lookback=x,
SampleSize=TestSamples , Iterations=TestIterations )
Error in MyLag(df$Close, Lookback) :
(list) object cannot be coerced to type 'integer'
Can someone suggest how to do this correctly?
Thanks,
Mark
______________________________________________
R-help@r-project.org mailing list
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
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.