- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to sort an R data frame rows in alphabetical order?
If we have string data stored in R data frame columns then we might want to sort the data frame rows in alphabetical order. This can be done with the help of apply and sort function inside transpose function.
For example, if we have a data frame called df that contains string data then sorting of df in alphabetical order can be done by using the below given command −
t(apply(df,1,sort))
Example 1
Following snippet creates a sample data frame −
x1<-sample(LETTERS[1:26],20) x2<-sample(LETTERS[1:26],20) x3<-sample(LETTERS[1:26],20) df1<-data.frame(x1,x2,x3) df1
Output
The following dataframe is created −
x1 x2 x3 1 Z L Y 2 Q W J 3 P S Z 4 U E C 5 M C K 6 H G M 7 L A I 8 F Q T 9 R T G 10 X N P 11 T I L 12 N J E 13 E X R 14 Y U N 15 W D W 16 S M F 17 B O V 18 A B U 19 I Z D 20 O F A
To sort df1 rows in alphabetical order, add the following code to the above snippet −
x1<-sample(LETTERS[1:26],20) x2<-sample(LETTERS[1:26],20) x3<-sample(LETTERS[1:26],20) df1<-data.frame(x1,x2,x3) t(apply(df1,1,sort))
Output
If you execute all the above given codes as a single program, it generates the following output −
[,1] [,2] [,3] [1,] "L" "Y" "Z" [2,] "J" "Q" "W" [3,] "P" "S" "Z" [4,] "C" "E" "U" [5,] "C" "K" "M" [6,] "G" "H" "M" [7,] "A" "I" "L" [8,] "F" "Q" "T" [9,] "G" "R" "T" [10,] "N" "P" "X" [11,] "I" "L" "T" [12,] "E" "J" "N" [13,] "E" "R" "X" [14,] "N" "U" "Y" [15,] "D" "W" "W" [16,] "F" "M" "S" [17,] "B" "O" "V" [18,] "A" "B" "U" [19,] "D" "I" "Z" [20,] "A" "F" "O"
Example 2
Following snippet creates a sample data frame −
y1<-sample(c("India","Russia","China"),20,replace=TRUE) y2<-sample(c("UK","USA","Egpyt"),20,replace=TRUE) y3<-sample(c("Sudan","Nepal","Croatia"),20,replace=TRUE) df2<-data.frame(y1,y2,y3) df2
Output
The following dataframe is created −
y1 y2 y3 1 India UK Nepal 2 India Egpyt Sudan 3 China USA Nepal 4 China USA Sudan 5 Russia UK Nepal 6 India Egpyt Sudan 7 India UK Croatia 8 China USA Nepal 9 India Egpyt Nepal 10 Russia UK Croatia 11 Russia UK Nepal 12 India UK Croatia 13 Russia USA Nepal 14 Russia Egpyt Nepal 15 India Egpyt Croatia 16 India Egpyt Nepal 17 China UK Nepal 18 India UK Sudan 19 India Egpyt Croatia 20 Russia USA Nepal
To sort df2 rows in alphabetical order, add the following code to the above snippet −
y1<-sample(c("India","Russia","China"),20,replace=TRUE) y2<-sample(c("UK","USA","Egpyt"),20,replace=TRUE) y3<-sample(c("Sudan","Nepal","Croatia"),20,replace=TRUE) df2<-data.frame(y1,y2,y3) t(apply(df2,1,sort))
Output
If you execute all the above given codes as a single program, it generates the following output −
[,1] [,2] [,3] [1,] "India" "Nepal" "UK" [2,] "Egpyt" "India" "Sudan" [3,] "China" "Nepal" "USA" [4,] "China" "Sudan" "USA" [5,] "Nepal" "Russia" "UK" [6,] "Egpyt" "India" "Sudan" [7,] "Croatia" "India" "UK" [8,] "China" "Nepal" "USA" [9,] "Egpyt" "India" "Nepal" [10,] "Croatia" "Russia" "UK" [11,] "Nepal" "Russia" "UK" [12,] "Croatia" "India" "UK" [13,] "Nepal" "Russia" "USA" [14,] "Egpyt" "Nepal" "Russia" [15,] "Croatia" "Egpyt" "India" [16,] "Egpyt" "India" "Nepal" [17,] "China" "Nepal" "UK" [18,] "India" "Sudan" "UK" [19,] "Croatia" "Egpyt" "India" [20,] "Nepal" "Russia" "USA"
- Related Articles
- How to sort each row of an R data frame in increasing order?
- How to delete rows in an R data frame?
- How to add rows in an R data frame?
- Java Program to sort an array in alphabetical order
- How to convert rows in an R data frame to list?
- How to remove duplicate rows and sort based on a numerical column an R data frame?
- How to remove empty rows from an R data frame?
- How to find the unique rows in an R data frame?
- How to change the row order in an R data frame?
- How to sort one column of an R data frame in ascending and the other in descending order?
- How to remove last few rows from an R data frame?
- How to convert columns of an R data frame into rows?
- How to remove rows in an R data frame using row names?
- How to extract unique combination of rows in an R data frame?
- How to merge rows having same values in an R data frame?
