Dear list,

Sorry, but I cannot get my head around how and I could pass arguments along
to high-level functions. What I have is a function that would benefit from
me using ddply from the plyr package.
However, I cannot get the arguments passing part right.

So, this is my function:

> suspicious.vowels <-
function(data,factors,f1,f2,evaluate.original.params=TRUE) {

  datOrig <- ddply(.data=data,
                .variables=as.quoted(factors),
                .fun=summarize,
                norm=vector.space(f1,f2)[["Vector norms"]]
                )


  print(datOrig)

}

Of course, if I try to call this function, I get an error message telling
me that the "f1" argument does not exist:

> suspicious.vowels(pb,c("Type","Sex","Vowel"),"F1",F2)
Error in mean(y, na.rm = na.rm) : object 'f1' not found

However, the corresponding ddply call, when called from the console, does
work:

>
head(ddply(pb,as.quoted(c("Type","Sex","Vowel")),summarize,norm=vector.space(F1,F2)[["Vector
norms"]]),4)
  Type Sex Vowel     norm
1    c   f    aa 250.1570
2    c   f    aa 497.2711
3    c   f    aa 172.3108
4    c   f    aa 109.4464
...

So, how do I modify the function to pass the arguments that I supply
correctly? I cannot get my head around this enough to find the correct
combination of deparse /substitute /... to get this right.

I would be thankful for all the help I could get on this.

/Fredrik

-- 
"Life is like a trumpet - if you don't put anything into it, you don't get
anything out of it."

        [[alternative HTML version deleted]]

______________________________________________
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