[R] Maintaining factors when copying from one data frame to another

Roger Bivand Roger.Bivand at nhh.no
Wed Dec 7 19:04:28 CET 2005

On Wed, 7 Dec 2005, Kurt Wollenberg wrote:

> Greetings all:
> OK, this is bugging the @#@%* out of me. I know the answer is simple
> and straightforward but for the life of me I cannot find it in the
> documentation, in the archives, or in my notes (because I know I've
> encountered this in the past). My problem is:
> I have a data frame with columns A, B, C, D, and E. A, B, and E are
> factors and C and D are numeric. I need a new data frame with just A,
> C, and D. When I copy these columns to a new data frame
> >newDF <- data.frame(cbind(oldDF$A, oldDF$C, oldDF$D))

oldDF <- data.frame(A=rnorm(5), B=rnorm(5), C=factor(letters[1:5]), D=rnorm(5))
newDF <- data.frame(cbind(oldDF$A, oldDF$C, oldDF$D))
str(newDF) # cbind forces to numeric as a matrix, so avoid it here
newDFa <- data.frame(Aa=oldDF$A, Ca=oldDF$C, Da=oldDF$D)

> all the factor data comes out as levels rather than the original
> factors. How do I preserve the factors when I copy from one data frame
> to another?
> Thanks vary much,
> Kurt Wollenberg, Ph.D.
> Tufts Center for Vision Research
> Tufts-New England Medical Center
> 750 Washington St #450
> Boston, MA 02111
> Office: 617-636-9028
> Fax: 617-636-8945
> email: kurt.wollenberg at gmail dot com
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no

More information about the R-help mailing list