How to Split Column Into Multiple Columns in R DataFrame? - GeeksforGeeks (2024)

In this article, we will discuss how to split a column from a data frame into multiple columns in the R programming Language.

Method 1: Using str_split_fixed() function of stringr package library

To split a column into multiple columns in the R Language, We use the str_split_fixed() function of the stringr package library. The str_split_fixed() function splits up a string into a fixed number of pieces. The function takes string, the term separating the string and number of parts it has to be divided into as arguments and returns the splitted string.

Syntax:

str_split_fixed( sample_string, separator_pattern, n)

Parameter:

  • sample_string: determines the input character vector.
  • separator_pattern: determines the pattern to split up by, as defined by a POSIX regular expression.
  • n: determines the number of part string has to be divided into.

Example: Split column into multiple columns

R

# create sample data frame

df <- data.frame(Name=c('Priyank Mishra', 'Abhiraj Srivastava',

'Pawananjani Kumar'),

State= c("Uttar Pradesh", "Maharashtra", "Bihar"))

print(" Data frame before splitting: ")

df

# load stringr library

library(stringr)

# Split name column into firstname and last name

df[c('First Name', 'Last Name')] <- str_split_fixed(df$Name, ' ', 2)

# Rearrange columns and remove original name column

df <- df[c('First Name', 'Last Name', 'State')]

print(" Data frame after splitting: ")

df

Output:

Data frame before splitting: Name State1 Priyank Mishra Uttar Pradesh2 Abhiraj Srivastava Maharashtra3 Pawananjani Kumar Bihar Data frame after splitting: First Name Last Name State1 Priyank Mishra Uttar Pradesh2 Abhiraj Srivastava Maharashtra3 Pawananjani Kumar Bihar

Method 2: Using separate() function of dplyr package library

To split a column into multiple columns in the R Language, we use the separator() function of the dplyr package library. The separate() function separates a character column into multiple columns with a regular expression or numeric locations. The function takes input character vector as an argument and the output column names in a vector as an argument and returns final data vector.

Syntax:

separate( sample_data, col )

Parameter:

  • sample_data: determines the input data frame column.
  • col: determines the final columns that it has to be separated.

Example: Split column into multiple columns

R

# create sample data frame

df <- data.frame(Name=c('Priyank Mishra', 'Abhiraj Srivastava',

'Pawananjani Kumar'),

State= c("Uttar Pradesh", "Maharashtra", "Bihar"))

print(" Data frame before splitting: ")

df

# load dplyr and tidyr library

library(dplyr)

library(tidyr)

# Split name column into firstname and last name

df <- df %>% separate(Name, c('First Name', 'Last Name'))

print(" Data frame after splitting: ")

df

Output:

Data frame before splitting: Name State1 Priyank Mishra Uttar Pradesh2 Abhiraj Srivastava Maharashtra3 Pawananjani Kumar BiharData frame after splitting: First Name Last Name State1 Priyank Mishra Uttar Pradesh2 Abhiraj Srivastava Maharashtra3 Pawananjani Kumar Bihar

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!


Commit to GfG's Three-90 Challenge! Purchase a course, complete 90% in 90 days, and save 90% cost click here to explore.

Last Updated : 29 Dec, 2022

Like Article

Save Article

Share your thoughts in the comments

Please Login to comment...

How to Split Column Into Multiple Columns in R DataFrame? - GeeksforGeeks (2024)
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated:

Views: 6696

Rating: 4.1 / 5 (52 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.