Re: [Rd] Retrieving function name

From: Dimitris Rizopoulos <dimitris.rizopoulos_at_med.kuleuven.be>
Date: Thu 09 Nov 2006 - 15:36:52 GMT

probably you're looking for:

f <- function(FUN, x){

    list(funName = deparse(substitute(FUN)), value = FUN(x)) }

f(mean, rnorm(10))
f(median, rnorm(10))

I hope it helps.

Best,
Dimitris



Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium

Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm


> Hi,
>
> Does anyone know how I can retrieve a function name, for example
>
> If I have a function f as follows:
>
> f <- function( myfunc ) {
> print( name_of(myfunc) );
> }
>
> I want to know what I should have as "name_of" such that I could
> call this
> with :
> f( median )
> and it would print "median"
>
> or f( my_function_name ) and it would print "m_function_name".
>
> So far all I can get is the function definition that myfunc points
> to.
>
> I thought the structure command might do it but this also just gives
> back
> the function definition and not the original name.
>
> Any suggestions?
>
> Tom
>
> --
> Dr. Thomas McCallum
> Systems Architect,
> Level E Limited
> ETTC, The King's Buildings
> Mayfield Road,
> Edinburgh EH9 3JL, UK
> Work +44 (0) 131 472 4813
> Fax: +44 (0) 131 472 4719
> http://www.levelelimited.com
> Email: tom@levelelimited.com
>
> Level E is a limited company incorporated in Scotland. The contents
> of
> this e-mail are privileged and/or confidential. If you are not the
> intended recipient, please
> notify the sender and ensure this e-mail is deleted and not read,
> copied
> or disclosed. It is your responsibility to scan this e-mail and any
> attachments for
> computer viruses or other defects. Level E does not accept liability
> for
> any loss or damage which may result from this e-mail or any
> attachment.
> E-mail is not secure
> and can be intercepted, corrupted or amended. Level E does not
> accept
> liability for errors or omissions arising as a result of interrupted
> or
> defective transmission.
> Any views, opinions, conclusions or other information in this e-mail
> which
> do not relate to the business of Level E Limited are not authorised
> by
> Level E. Unless
> specifically stated and authorised by Level E, nothing in this
> e-mail
> shall be taken to be an offer or acceptance of any contract of any
> nature.
> E-mail entering or leaving Level E's system is subject to random
> monitoring and recording.
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri Nov 10 06:04:36 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 09 Nov 2006 - 19:31:31 GMT.

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