[R] Sharing levels across multiple factor vectors

Jeff Brown dopethatwantscash at yahoo.com
Thu Apr 1 07:53:27 CEST 2010


Sorry for spamming.  I swear I had worked on that problem a long time before
posting.  

But I just figured it out: I have to change the values, which are
represented as integers, not strings.  So the following code will do it:

df <- data.frame (
	a = factor( c( "bob", "alice", "bob" ) ),
	b = factor( c( "kenny", "alice", "alice" ) )
);
allLevels <- unique( c( levels( df$a ), levels( df$b ) ) )
for (c in colnames(df)) {
	df[,c] <- match( df[,c], allLevels);
	levels( df[,c] ) <- 1:(length(allLevels))
};

-- 
View this message in context: http://n4.nabble.com/Sharing-levels-across-multiple-factor-vectors-tp1747714p1747722.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list