- 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 concatenate column values and create a new column in an R data frame?
Sometimes we want to combine column values of two columns to create a new column. This is mostly used when we have a unique column that maybe combined with a numerical or any other type of column. Also, we can do this by separating the column values that is going to be created with difference characters. And it can be done with the help of apply function.
Example
Consider the below data frame −
> ID<-1:20 > Country<- sample(c("Russia","USA","China","Canada","UK","India","Nepal"),20,replace=TRUE) > df1<-data.frame(ID,Country) > df1
Output
ID Country 1 1 UK 2 2 UK 3 3 India 4 4 USA 5 5 USA 6 6 UK 7 7 Nepal 8 8 Russia 9 9 Nepal 10 10 China 11 11 UK 12 12 Nepal 13 13 Canada 14 14 USA 15 15 Russia 16 16 UK 17 17 China 18 18 USA 19 19 China 20 20 Russia
Creating a new column of ID and Country −
> df1$ID_with_Country<-apply(df1,1,paste,collapse="") > df1
Output
ID Country ID_with_Country 1 1 UK 1UK 2 2 UK 2UK 3 3 India 3India 4 4 USA 4USA 5 5 USA 5USA 6 6 UK 6UK 7 7 Nepal 7Nepal 8 8 Russia 8Russia 9 9 Nepal 9Nepal 10 10 China 10China 11 11 UK 11UK 12 12 Nepal 12Nepal 13 13 Canada 13Canada 14 14 USA 14USA 15 15 Russia 15Russia 16 16 UK 16UK 17 17 China 17China 18 18 USA 18USA 19 19 China 19China 20 20 Russia 20Russia
Let’s have a look at another example −
Example
> Class<-LETTERS[1:20] > Rank<-sample(1:10,20,replace=TRUE) > df2<-data.frame(Class,Rank) > df2
Output
Class Rank 1 A 2 2 B 4 3 C 4 4 D 6 5 E 7 6 F 10 7 G 10 8 H 5 9 I 9 10 J 6 11 K 1 12 L 8 13 M 10 14 N 7 15 O 5 16 P 7 17 Q 6 18 R 1 19 S 10 20 T 3
> df2$Class_Rank<-apply(df2,1,paste,collapse="_") > df2
Output
Class Rank Class_Rank 1 A 2 A_ 2 2 B 4 B_ 4 3 C 4 C_ 4 4 D 6 D_ 6 5 E 7 E_ 7 6 F 10 F_10 7 G 10 G_10 8 H 5 H_ 5 9 I 9 I_ 9 10 J 6 J_ 6 11 K 1 K_ 1 12 L 8 L_ 8 13 M 10 M_10 14 N 7 N_ 7 15 O 5 O_ 5 16 P 7 P_ 7 17 Q 6 Q_ 6 18 R 1 R_ 1 19 S 10 S_10 20 T 3 T_ 3
- Related Articles
- How to create a new column in an R data frame based on some condition of another column?
- How to create a group column in an R data frame?
- How to create a lagged column in an R data frame?
- How to create a column with the serial number of values in character column of an R data frame?
- How to create a new column with a subset of row sums in an R data frame?
- How to select positive values in an R data frame column?
- How to randomly replace values in an R data frame column?
- How to create a data frame with a column having repeated values in R?
- How to add a new column in an R data frame with count based on factor column?
- How to create group names for consecutively duplicate values in an R data frame column?
- Create a quartile column for each value in an R data frame column.
- How to repeat column values in R data frame by values in another column?
- How to subtract column values from column means in R data frame?
- How to create a column in an R data frame with cumulative sum?
- How to create a blank column with randomization in an R data frame?

Advertisements