Hello, When I merge two dataframes, each created by read.table and containing no factors, the result has columns which have been converted to factor. I think this is a bug (and may be related to some fixed bugs, eg PR#1102, PR#1121), but will await comments before submitting. Also, I'm not sure if the bug is in merge() or in read.table(). I am using R-1.4.0 patch 1/13/02 on Solaris 2.6. File "merge1.txt": k a A w B x File "merge2.txt": k b A y C z Bug-testing code: R> x <- read.table("merge1.txt",header=T,row.names=NULL,colClasses="character") R> y <- read.table("merge2.txt",header=T,row.names=NULL,colClasses="character") R> z <- merge(x, y, all.x=T) R> sapply(z, is.factor) k a b FALSE FALSE TRUE Note z$b has become a factor! I strongly suspect it has to do with setting all.x=T and the fact that some rows of z$b (for key k="B") had to be filled in. Also note, I do not get this behavior if I create "x" and "y" with data.frame: R> x <- data.frame(k=I(c("A","B")), a=I(c("w","x"))) R> y <- data.frame(k=I(c("A","C")), b=I(c("y","z"))) R> z <- merge(x, y, all.x=T) R> sapply(z, is.factor) k a b FALSE FALSE FALSE Version: platform = sparc-sun-solaris2.6 arch = sparc os = solaris2.6 system = sparc, solaris2.6 status = Patched major = 1 minor = 4.0 year = 2002 month = 01 day = 13 language = R Search Path: .GlobalEnv, package:secref, package:misc, package:io, package:arrays, package:ls1, package:g.data, package:db, package:ts, package:ctest, Autoloads, package:base -- -- David Brahm (brahm at alum.mit.edu) -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._