[R] Using ddply within a function by argument transfer

R. Michael Weylandt michael.weylandt at gmail.com
Sun Mar 4 04:04:11 CET 2012


Untested, but it might be simpler than that:

suspicious.vowels(pb,c("Type","Sex","Vowel"),"F1",F2)

Note that "F1" is in quotes but F2 isn't.

Michael

On Sat, Mar 3, 2012 at 5:46 PM, Fredrik Karlsson <dargosch at gmail.com> wrote:
> 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 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.



More information about the R-help mailing list