One simple explanation for the error message you received is that you have a 
typo: 'lapply' instead of 'apply':

x <- matrix(1:6, 2)
apply(x, 1, sum)
[1]  9 12
lapply(x, 1, sum)
Error in match.fun(FUN) : '1' is not a function, character or symbol


However, it's difficult to diagnose without at least seeing some cut'n'pasted 
transcripts.  The output of traceback() would also be useful.

-- Tony Plate

Gang Chen wrote:
I've written a function, myFunc, that works fine with myFunc(data,
...), but when I use apply() to run it with an array of data

apply(myArray, 1, myFunc, ...)

I get a strange error:

Error in match.fun(FUN) : '1' is not a function, character or symbol

which really puzzles me because '1' is meant to be the margin of the
array I want to apply over, but how come does apply() treat it as a
function?

I have been successfully using apply() for a while, so I must have
made a stupid mistake this time. Hopefully somebody can point out
something obviously wrong without me providing any details of the
function.

TIA,
Gang

______________________________________________
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.

Reply via email to