# Rearrange or Reorder the rows and columns in R using Dplyr

In Order to Rearrange or Reorder the column of dataframe in R using Dplyr we use select() function. Dplyr package in R is provided with select() function which reorders the columns. In order to Rearrange or Reorder the rows of the dataframe in R using Dplyr we use  arrange() funtion. The arrange() function is used to rearrange rows in ascending or descending order. Moving a column to First position or Last Position in R can also accomplished. We thought through the different scenarios of such kind and formulated this post. We will depict multiple scenarios on how to rearrange the column in R.  Let’s see an example of each

• Rearrange or Reorder the column of the dataframe in R using Dplyr
• Rearrange the column of the dataframe by column name.
• Rearrange the column of the dataframe by column position.
• Rearrange or Reorder the column name alphabetically
• Rearrange or Reorder the column name in alphabetically reverse order
• Move or shift the column to the First position/ last position in R.
• Reorder or Rearrange the rows of dataframe in Descending order using R dplyr using arrange() function
• Reorder or Rearrange the rows of dataframe in Ascending order using R dplyr using arrange() function
• Reorder or Rearrange  rows by all variable in R using arrange_all() function Lets look how to Rearrange or Reorder the rows and columns in R using Dplyr. Let’s First create a dataframe

```#### Create dataframe

student_df = data.frame( Name = c('George','Andrea', 'Micheal','Maggie','Ravi','Xien','Jalpa'),
Mathematics_score=c(62,47,55,74,32,77,86),
Language_score=c(45,78,44,89,66,49,72),
Science_score=c(56,52,45,88,33,90,47))

student_df
```

dataframe “student_df”  will be #### Rearrange or Reorder the column of the dataframe in R using Dplyr :

Re order the column using select function with all the columns arranged in order of our choice.

```# Reorder the columns of the dataframe

library(dplyr)

Mydata1 = select(student_df,Science_score,Language_score,Mathematics_score,Name)
Mydata1

```

so the resultant dataframe with all the column names rearranged will be #### Rearrange or Reorder specific columns of the dataframe in R using Dplyr :

Re order only with name, mathematics_score and science_score columns

```# Reorder the columns of the dataframe
library(dplyr)

Mydata1 = select(student_df,Science_score,Mathematics_score,Name)
Mydata1

```

so the resultant dataframe with specific column names rearranged will be #### Rearrange or reorder the column Alphabetically in R: Rearranging the column in alphabetical order can be done with the help of select() function & order() function along with pipe operator.  In another method it can also be accomplished simply with help of order() function only. Both the examples are shown below.

```#### Reorder the columns of the dataframe in Alphabetical order

library(dplyr)
student_df %>% select(order(colnames(student_df)))

```

OR

```#### Reorder the columns of the dataframe in Alphabetical order

student_df[,order(colnames(student_df))]
```

so the resultant dataframe with columns ordered alphabetically will be #### Rearrange the column Alphabetically in reverse order:

Rearranging the column in alphabetically reverse order can be done with the help of select() function & order() function along with pipe operator.  In another method it can also be accomplished simply with help of order() function only. Both the examples are shown below.  order() function takes up the parameter decreasing = TRUE, there by reverses the alphabetical order of the columns.

```#### Reorder the columns of the dataframe in Alphabetical order

library(dplyr)
student_df %>% select(order(colnames(student_df),decreasing = TRUE))

```

OR

```#### Reorder the columns of the dataframe in Alphabetical order

student_df[,order(colnames(student_df),decreasing = TRUE)]
```

so the resultant dataframe with columns ordered alphabetically will be #### Move or Shift a column to First position in R: A simple method to move a column towards first position is to use select() function along with everything() function. select() function selects the Grade_Score first followed by everything() i.e. every other columns,

```#### Move a column to first position

library(dplyr)

new_df = student_df %>% select(Mathematics_score, everything())
new_df
```

so the resultant table will have Grade_Score as first column #### Rearrange the column of the dataframe by column position:

In the below example 2nd ,4th 3rd and 1st column takes the position of 1 to 4 respectively

```# Re order the column by position

df2 = df1[,c(2,4,3,1)]
df2
```

so the re ordered dataframe will be #### Rearrange or reorder the Rows in R #### 1) Reorder or Rearrange the rows of the dataframe in ascending order using dplyr arrange()

Re order rows of the dataframe is accomplished using arrange() Function as shown below. arrange() Function rearranges the rows of the dataframe in ascending order as shown below

```# Reorder the rows of the dataframe in ascending order

library(dplyr)

student_df %>% arrange(Name)
```

So we have arranged the rows in ascending order of Name so the resultant dataframe will be #### 2) Reorder or Rearrange the rows of the dataframe in descending order using dplyr arrange()

Re order rows of the dataframe is accomplished using arrange() Function as shown below. arrange() Function along with desc()  rearranges the rows of the dataframe in descending order as shown below

```# Reorder the rows of the dataframe in descending order

library(dplyr)
student_df %>% arrange(desc(Name))

```

So we have arranged the rows in descending order of Name so the resultant dataframe will be #### 3) Rearrange rows by multiple variable using arrange_all() function in R dplyr

Lets look at a quick example. First lets create a dataframe

```# create a dataframe

library(dplyr)
df <- data.frame(ids=c(2,2,3,1,1),x=c(1,1,2,5,4),y=letters[1:5])
```

the dataframe will be arrange_all() function in dplyr package is used to arrange rows by multiple variable in the below example we have rearranged rows by all the three variables

```#### arrange all of the dataframe
library(dplyr)
arrange_all(df)
```

the dataframe will be first sorted or arranged by column “id” and then by column “x” and then by column “y”. so the resultant dataframe will be For Further understanding on how to Rearrange or Reorder the rows and columns in R using Dplyr one can refer dplyr documentation