Fredrik Karlsson
2012-Mar-03 22:46 UTC
[R] Using ddply within a function by argument transfer
An embedded and charset-unspecified text was scrubbed... Name: inte tillg?nglig URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120303/a62e41f2/attachment.pl>
R. Michael Weylandt
2012-Mar-04 03:04 UTC
[R] Using ddply within a function by argument transfer
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.
Fredrik Karlsson
2012-Mar-04 05:20 UTC
[R] Using ddply within a function by argument transfer
An embedded and charset-unspecified text was scrubbed... Name: inte tillg?nglig URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120303/a66374b4/attachment.pl>