[R] numeric to factor via lookup table
Marc Schwartz
marc_schwartz at me.com
Fri Mar 28 22:00:40 CET 2014
On Mar 28, 2014, at 3:38 PM, Jonathan Greenberg <jgrn at illinois.edu> wrote:
> R-helpers:
>
> Hopefully this is an easy one. Given a lookup table:
>
> mylevels <- data.frame(ID=1:10,code=letters[1:10])
>
> And a set of values (note these do not completely cover the mylevels range):
>
> values <- c(1,2,5,5,10)
>
> How do I convert values to a factor object, using the mylevels to
> define the correct levels (ID matches the values), and code is the
> label?
>
> --j
One approach would be to use ?merge and specify the 'by.*' arguments using column indices, where 'values' is column 1 and you want to match that with mylevels$ID, which is also column 1. Hence:
> merge(values, mylevels, by.x = 1, by.y = 1)
x code
1 1 a
2 2 b
3 5 e
4 5 e
5 10 j
Regards,
Marc Schwartz
More information about the R-help
mailing list