[R] create new column by replacing multiple unique values in existing column

David L Carlson dcarlson at tamu.edu
Thu Sep 11 18:06:04 CEST 2014


Note that in the data you sent, b is a factor:
> str(dat1)
'data.frame':   15 obs. of  2 variables:
 $ a: int  1 2 3 4 5 6 7 8 9 10 ...
 $ b: Factor w/ 3 levels "A1","A2","B1": 1 1 1 1 1 2 2 2 2 2 ...

So all you need is
> dat1$new <- as.numeric(dat1$b)
> table(dat1$new)
> table(dat1$new)

1 2 3 
5 5 5 
> table(dat1$b)

A1 A2 B1 
 5  5  5 

If b is not a factor in your table, make it one ?factor
-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of raz
Sent: Thursday, September 11, 2014 10:49 AM
To: r-help at r-project.org
Subject: [R] create new column by replacing multiple unique values in existing column

Hi,

​I got the following data frame:
 dat1 <- read.table(text="a,b
1,A1
2,A1
3,A1
4,A1
5,A1
6,A2
7,A2
8,A2
9,A2
10,A2
11,B1
12,B1
13,B1
14,B1
15,B1",sep=",",header=T)
​

​I would like to add a new column dat1$new based on column "b" (dat$b) in
which values will be substituted according to their unique values e.g "A1"
will be "1", "A2" will be "2" and so on (this is only a part of a large
table). It would be better if I could change all unique values in dat1 to
numbers 1:unique(n). if not then how do I change all values
("A1","A2","B1") to (1,2,3) in a new column?.

Thanks a lot,

Raz​


-- 
\m/

	[[alternative HTML version deleted]]

______________________________________________
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