Hi Fredrik, A reproducible example would help. We have neither your data nor your functions.
It is not clear to me what your problem is; I have no difficulty passing arguments from a higher function to ddply(). mtcars[1,1] <- NA f <- function(data, factors, f1) { ddply(.data = data, as.quoted(factors), .fun = colMeans, na.rm = ifelse(f1, FALSE, TRUE)) } ddply(.data = mtcars, .(vs), .fun = colMeans, na.rm = ifelse(TRUE, FALSE, TRUE)) f(mtcars, "vs", f1 = TRUE) f(mtcars, "vs", f1 = FALSE) Cheers, Josh On Sat, Mar 3, 2012 at 9:20 PM, Fredrik Karlsson <dargo...@gmail.com> 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 > > > /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 >> > PLEASE do read the posting guide >> 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 > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Joshua Wiley Ph.D. Student, Health Psychology Programmer Analyst II, Statistical Consulting Group University of California, Los Angeles https://joshuawiley.com/ ______________________________________________ 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.