Home » How to Reorder Columns in R

How to Reorder Columns in R

by Erma Khan
spot_img

Often you may want to reorder columns in a data frame in R.

Fortunately this is easy to do using the select() function from the dplyr package.

library(dplyr)

This tutorial shows several examples of how to use this function in practice using the following data frame:

#create data frame
df #view data frame
df

  player position points rebounds
1      a        G     12        5
2      b        F     15        7
3      c        F     19        7
4      d        G     22       12
5      e        G     32       11

Example 1: Move a Column to the First Position

The following code shows how to move a specific column in a data frame to the first position:

#move column 'points' to first position
df %>% select(points, everything())

  points player position rebounds
1     12      a        G        5
2     15      b        F        7
3     19      c        F        7
4     22      d        G       12
5     32      e        G       11

This code tells dplyr to select the points column first, then include every other column after points.

Example 2: Move a Column to the Last Position

The following code shows how to move a specific column in a data frame to the last position:

#move column 'points' to last position
df %>% select(-points, points)

  player position rebounds points
1      a        G        5     12
2      b        F        7     15
3      c        F        7     19
4      d        G       12     22
5      e        G       11     32

This code tells dplyr to select all columns except the points column, then to select the points column again. This has the effect of moving the points column to the last position in the data frame.

Example 3: Reorder Multiple Columns

The following code shows how to reorder several columns at once in a specific order:

#change all column names to uppercase
df %>% select(rebounds, position, points, player)

  rebounds position points player
1        5        G     12      a
2        7        F     15      b
3        7        F     19      c
4       12        G     22      d
5       11        G     32      e

Example 4: Reorder Columns Alphabetically

The following code shows how to order the columns in alphabetical order:

#order columns alphabetically
df %>% select(order(colnames(.)))

  player points position rebounds
1      a     12        G        5
2      b     15        F        7
3      c     19        F        7
4      d     22        G       12
5      e     32        G       11

Example 5: Reverse Column Order

The following code shows how to reverse the column order in a data frame:

#reverse column order
df %>% select(rebounds:player, everything())

  rebounds points position player
1        5     12        G      a
2        7     15        F      b
3        7     19        F      c
4       12     22        G      d
5       11     32        G      e

Note: You can find the complete documentation for the select() function here.

Additional Resources

The following tutorials explain how to perform other common operations in dplyr:

How to Select Columns by Index Using dplyr
How to Select Columns by Name Using dplyr
How to Add Columns to Data Frame Using dplyr

spot_img

Related Posts