Re: [R] function in argument

From: David Winsemius <dwinsemius_at_comcast.net>
Date: Fri, 01 Apr 2011 18:06:43 -0400

On Apr 1, 2011, at 5:56 PM, array chip wrote:

> Hi, I tried to pass the function dist() as an argument, but got an
> error
> message. However, almost the same code with mean() as the function
> to be passed,
> it works ok.
>
> foo<-function (x,
> xfun = dist)
> {
> xfun(x)
> }
>
> foo(matrix(1:100,nrow=5))
> Error in foo(matrix(1:100, nrow = 5)) : could not find function "xfun"
>

Works on my machine.

 > foo(matrix(1:100,nrow=5))

           1 2 3 4

2  4.472136
3  8.944272  4.472136
4 13.416408  8.944272  4.472136
5 17.888544 13.416408  8.944272  4.472136


You have probably overwritten `dist` with a non-functional object.

Try rm(dist) and re-run:

>
> foo<-function (x,
> xfun = mean)
> {
> xfun(x)
> }
>
> foo(1:10)
> [1] 5.5
>
> what am I missing here?

Thinking about your full workspace, I would guess.

--

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help_at_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.
Received on Fri 01 Apr 2011 - 22:10:13 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 01 Apr 2011 - 22:20:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive