Hi, Sorry all - I will provide a reproducable version of this. I am still seeing the same problem - maybe it is due to me having to use summarize? Anyway, here is an example (using the data set attached):
Two test functions: insidefun <- function(x){ return(x+1) } testfun <- function(data,factors,x){ datOrig <- ddply(.data=data, .variables=as.quoted(factors), .fun=summarize, norm=insidefun(x) ) } > testfun(pb,c("Type","Sex","Speaker"),F1) Error in insidefun(x) : object 'x' not found Now, if I call ddply directly, it works: > head(ddply(pb,.(Type,Sex,Speaker),summarize,norm=insidefun(F1)),4) Type Sex Speaker norm 1 c f 62 461 2 c f 62 401 3 c f 62 601 4 c f 62 611 I'm sure I'm doing something stupid - and of course I see that the ddply call inside the function will have to do some processing in order to get the arguments in the right mode/class - but I don't know how. /Fredrik On Sun, Mar 4, 2012 at 6:44 AM, David Winsemius <dwinsem...@comcast.net>wrote: > > On Mar 4, 2012, at 12:20 AM, Fredrik Karlsson wrote: > > Hi Michael, >> >> No, sorry - that is neither the problem or the solution. >> >> suspicious.vowels(pb,c("Type",**"Sex","Vowel"),F1,F2) >>> >> Error in mean(y, na.rm = na.rm) : object 'f1' not found >> >> > Obviously you have still failed to offer reproducible code to go along > wiht your questions, but I would observe that in R that f1 is NOT going to > equal F1. > > -- > >> >> /Fredrik >> >> On Sat, Mar 3, 2012 at 7:04 PM, R. Michael Weylandt < >> michael.weyla...@gmail.com> wrote: >> >> 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 <dargo...@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@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >>>> PLEASE do read the posting guide >>>> >>> http://www.R-project.org/**posting-guide.html<http://www.R-project.org/posting-guide.html> >>> >>>> and provide commented, minimal, self-contained, reproducible code. >>>> >>> >>> >> >> >> -- >> "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<https://stat.ethz.ch/mailman/listinfo/r-help> >> PLEASE do read the posting guide http://www.R-project.org/** >> posting-guide.html <http://www.R-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. >> > > David Winsemius, MD > West Hartford, CT > > -- "Life is like a trumpet - if you don't put anything into it, you don't get anything out of it."
______________________________________________ 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.