[R] create new variable: percentile value of variable in data frame

Stephan Kolassa Stephan.Kolassa at gmx.de
Fri May 28 22:06:04 CEST 2010


Hi Jon,

does the empirical cumulative distribution function do what you want?

dat$q.score <- ecdf(dat$score)(dat$score)
?ecdf

HTH
Stephan


Jonathan Beard schrieb:
> Hello all,
> 
> Thanks in advance for you attention.
> I would like to generate a third value that represents the quantile
> value of a variable in a data frame.
> 
> 
> # generating data
> 
> x <- as.matrix(seq(1:30))
> y <- as.matrix(rnorm(30, 20, 7))
> tmp1 <- cbind(x,y)
> dat <- as.data.frame(tmp1)
> colnames(dat) <- c("id", "score")
> dat
> 
> #  finding percentiles of "score"
> 
> qs <- as.matrix(quantile(dat$score, type=3, probs = seq(0,1,.1)))
> colnames(qs) <- c( "score")
> qs
> 
> #  is there a way to put the quantile value for a value of 'score'
> into a new variable,
> #  such that the new data frame would have three variables: id, score
> and q.score?
> 
> ##  running R version 2.8.1 (2008-12-22) on Vista
> 
> 
> Thanks so much!
> 
> -Jon
> 
> ______________________________________________
> 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.
>



More information about the R-help mailing list