[R] from character to numeric over multiple columns
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Jul 21 12:51:15 CEST 2006
Are the columns factors or character? I'll try to write code that copes
with both:
nm <- unique(c(as.character(col1), as.character(col2), as.character(col3)))
DF[] <- lapply(DF, function(x) match(x, nm))
On Fri, 21 Jul 2006, Federico Calboli wrote:
> Hi All,
>
> I have a data frame of three columns, all of which names. The names in the three
> cols overlap up to a point, so I might have *Harry* in all three columns,
> *Tom* in cols 1 and 3 and *Bob* in col 3 only.
>
> harry paul bob
> anita harry tom
> frank jack harry
> tom pete ben
> ....
>
> I want to turn the names into numbers, BUT I want the numeric code for, say,
> *Harry*, to be the same on all columns.
>
> Doing
>
> cbind(as.numeric(col1), as.numeric(col2), as.numeric(col3))
>
> does not work because the factors are different in each column, hence they get a
> different number even though the name is the same.
>
> Ideas?
>
> Cheers
>
> Federico
>
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list