> On Jun 15, 2017, at 12:37 PM, Andras Farkas via R-help <r-help@r-project.org> > wrote: > > Dear All, > > we have: > > t<-seq(0,24,1) > a<-10*exp(-0.05*t) > b<-10*exp(-0.07*t) > c<-10*exp(-0.1*t) > d<-10*exp(-0.03*t) > z<-data.frame(a,b,c,d) > > res<-t(apply(z, 1, quantile, probs=c(0.3))) > > > > my goal is to do a 'reverse" of the function here that produces "res" on a > data frame, ie: to get the answer 0.3 back for the percentile location when I > have "res" available to me... For a single vector this would be done using > ecdf something like this: > > x <- rnorm(100) > #then I know this value: > quantile(x,0.33) > #so do this step > ecdf(x)(quantile(x,0.33)) > #to get 0.33 back... > > any suggestions on how I could to that for a data frame?
Can't you just used ecdf and quantile ecdf? # See ?ecdf page for both functions > lapply( lapply(z, ecdf), quantile, 0.33) $a 33% 4.475758 $b 33% 3.245151 $c 33% 2.003595 $d 33% 6.173204 -- David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.