Hi: I would agree with Paul Hiemstra about using Hadley's code instead; see ?plyr:::mutate for details. It would also make sense to sort the data and edf by group - this does it in one line:
arrange(ddply(df, .(Group), mutate, edf = edf(Value)), Group, edf) HTH, Dennis On Wed, Aug 17, 2011 at 4:51 AM, Marius Hofert <m_hof...@web.de> wrote: > Dear all, > > thanks a lot for the quick help. > Below is what I built with the hint of Nick. > > Cheers, > > Marius > > > library(plyr) > > set.seed(1) > (df <- data.frame(Group=rep(c("Group1","Group2","Group3"), each=10), > Value=c(rexp(10, 1), rexp(10, 4), rexp(10, > 10)))[sample(1:30,30),]) > edf <- function(x) ecdf(x)(x) > > ddply(df, .(Group), function(df.) cbind(df., edf=edf(df.$Value))) > > > On 2011-08-17, at 13:38 , Hadley Wickham wrote: > >>> The following example does what you want using ddply: >>> >>> library(plyr) >>> edfPerGroup = ddply(df, .(Group), summarise, edf = edf(Value), Value = >>> Value) >> >> Or slightly more succinctly: >> >> ddply(df, .(Group), mutate, edf = edf(Value)) >> >> Hadley >> >> -- >> Assistant Professor / Dobelman Family Junior Chair >> Department of Statistics / Rice University >> http://had.co.nz/ > > ______________________________________________ > 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. > ______________________________________________ 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.