John Sorkin
2005-Jul-17 02:35 UTC
[R] printing the name of the arguments passed to a function
R2.1.1
Win 2k
I have a function, B, within a function, A.
I would like to have B print the name of the argument passed to it (not
the value of the arguments).
i.e.,
A<-function()
{
B<-function(x,y)
{
fit1<-lm(y~x,data=jo)
print(summary(fit1)
I want B to print the string "age" and the string
"height".
}
B(age,height)
}
I would like have function B print the name of the arguments passed to
it, i.e. I want B to print the word
age
and the word
height
I would appreciate any suggestions that would help me accomplish this
task.
Thanks,
John
John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
Baltimore VA Medical Center GRECC and
University of Maryland School of Medicine Claude Pepper OAIC
University of Maryland School of Medicine
Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
410-605-7119
- NOTE NEW EMAIL ADDRESS:
jsorkin@grecc.umaryland.edu
[[alternative HTML version deleted]]
Spencer Graves
2005-Jul-17 03:01 UTC
[R] printing the name of the arguments passed to a function
How about the following:
> tstFn <- function(x){
+ xName <- deparse(substitute(x))
+ cat(xName)
+ "done"
+ }
> tstFn(Varname)
Varname[1] "done"
>
> tstF1 <- function(x){
+ tstF2 <- function(y){
+ cat(deparse(substitute(y)),
+ "doesn't work\n")
+ }
+ tstF2(x)
+ xName <- deparse(substitute(x))
+ tstF3 <- function(y, yName){
+ cat(yName, "works\n")
+ }
+ tstF3(x, xName)
+ "done"
+ }
> tstF1(Varname)
x doesn't work
Varname works
[1] "done"
spencer graves
John Sorkin wrote:
> R2.1.1
> Win 2k
> I have a function, B, within a function, A.
> I would like to have B print the name of the argument passed to it (not
> the value of the arguments).
> i.e.,
>
> A<-function()
> {
> B<-function(x,y)
> {
> fit1<-lm(y~x,data=jo)
> print(summary(fit1)
> I want B to print the string "age" and the string
"height".
> }
> B(age,height)
> }
>
> I would like have function B print the name of the arguments passed to
> it, i.e. I want B to print the word
> age
> and the word
> height
>
> I would appreciate any suggestions that would help me accomplish this
> task.
>
> Thanks,
> John
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> Baltimore VA Medical Center GRECC and
> University of Maryland School of Medicine Claude Pepper OAIC
>
> University of Maryland School of Medicine
> Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
>
> 410-605-7119
> -- NOTE NEW EMAIL ADDRESS:
> jsorkin at grecc.umaryland.edu
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
--
Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA
spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel: 408-938-4420
Fax: 408-280-7915