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: [email protected] [mailto:[email protected]] On Behalf Of raz Sent: Thursday, September 11, 2014 10:49 AM To: [email protected] 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]] ______________________________________________ [email protected] 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. ______________________________________________ [email protected] 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.

