R Program to reorder a given data frame by column name


March 18, 2022, Learn eTutorial
879

How to reorder a given data frame by column name

Here we are explaining how to write an R program to reorder a given data frame by column name. Here we are using a built-in function data.frame(). A data frame is used for storing data tables which has a list of vectors with equal length. The data frames are created by function data.frame(), which has tightly coupled collections of variables. The syntax of this function is, 



data.frame(…, row.names = NULL, check.rows = FALSE,check.names = TRUE, fix.empty.names = TRUE,stringsAsFactors = default.stringsAsFactors()) 

Where dots(...) indicates the arguments are of either the form value or tag = value and row. name is a NULL or a single integer or character string.

How to reorder a given data frame by column name in the R program

Below are the steps used in the R program to reorder a given data frame by column name. In this R program, we directly give the data frame to a built-in function. Here we are using variables E, N, S, A, Q for holding different types of vectors. Call the function data.frame() for creating data frame. Finally, reorder the column name of a data frame  by calling like E[c("N", "A", "S", "Q")]

ALGORITHM

STEP 1: Assign variables E,N,S,A,Q with vector values 

STEP 2: First print original vector values

STEP 3:  Reorder the column name of a data frame  by calling like E[c("N", "A", "S", "Q")]

STEP 4: Print the final data frame

R Source Code

                                          E = data.frame(
N = c('Jhon', 'Hialy', 'Albert', 'James', 'Delma'),
S = c(10, 9.5, 12.2, 11, 8),
A = c(2, 1, 2, 4, 1),
Q = c('yes', 'no', 'yes', 'no', 'no')
)
print("Original dataframe:")
print(E)
print("Reorder by column name:")
E = E[c("N", "A", "S", "Q")]
print(E)
                                      

OUTPUT

[1] "Original dataframe:"
       N    S A   Q
1   Jhon 10.0 2 yes
2  Hialy  9.5 1  no
3 Albert 12.2 2 yes
4  James 11.0 4  no
5  Delma  8.0 1  no
[1] "Reorder by column name:"
       N A    S   Q
1   Jhon 2 10.0 yes
2  Hialy 1  9.5  no
3 Albert 2 12.2 yes
4  James 4 11.0  no
5  Delma 1  8.0  no