Re: [R] Swap variables in data.frame

From: Rogers, James A [PGRD Groton] <>
Date: Tue, 03 Jun 2008 08:05:37 -0400

Birgit Lemcke wrote:

> I have a dataframe and two of my variables are in the wrong position
> and I would like to swap those variables.

In addition to the other solutions posted, if you prefer to reference the columns by name rather than by index, you could use subset()

dat <- data.frame(a = letters[1:3], b = LETTERS[1:3], c = 1:3, d = 3:1)

subset(dat, select = c(b, a, c, d))
## or equivalently, something like:
subset(dat, select = c(b:a, c:d))


James A. Rogers, Ph.D.
Associate Director, Neuroscience Statistics Pfizer Global R&D New London
50 Pequot Avenue (MS 6025-B2131)
New London, CT 06320
office: (860) 732-0783
cell: (860) 501-7228
fax: (860) 686-7866 mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Tue 03 Jun 2008 - 14:00:50 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 03 Jun 2008 - 18:30:41 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive