Re: [R] add factor to dataframe given ranges

From: Marc Schwartz (via MN) <mschwartz_at_mn.rr.com>
Date: Fri 23 Dec 2005 - 03:08:08 EST

On Thu, 2005-12-22 at 16:58 +0100, Albert Vilella wrote:
> Hi all,
>
> I would like to factorize the entries in a dataframe given some
> groupings. E.g:
>
> mydf = data.frame(
> a = rnorm(100,10),
> b = rnorm(100,10),
> c = rgamma(100, 1, scale=1))
>
> group = hist(mydf$c, breaks="FD")
> group$breaks
>
> The idea is to create a factor "mydf$d" with levels corresponding to
> the ranges in group$breaks.
>
> There must be an easy way to do this that I haven't found out.
>
> Thanks in advance,
>
> Albert.

See ?cut

Then:

 myfac.c <- cut(mydf$c, breaks = group$breaks)

Take note of the additional arguments in cut() relative to the nature of the interval cutpoints (ie. 'right' and 'include.lowest').

HTH, Marc Schwartz



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Dec 23 08:04:36 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:41:40 EST