# split & unsplit Functions in R (2 Examples)

In this R tutorial you’ll learn how to divide (and reassemble) vectors into groups using the split function.

The tutorial is structured as follows:

Let’s dig in:

## Definitions & Basic R Syntaxes of split and unsplit Functions

Definitions: Please find the definitions of the split and unsplit functions below.

• The split R function divides data into groups.
• The unsplit R function reverses the output of the split function.

Basic R Syntaxes: You can find the basic R programming syntaxes of the split and unsplit functions below.

```split(values, groups)                      # Basic R syntax of split function
unsplit(split_values, groups)              # Basic R syntax of unsplit function```

I’ll illustrate in the following two examples how to apply the split and unsplit functions in the R programming language.

## Creation of Example Data

First, we’ll need to create some data that we can use in the example code below:

```vec <- 1:10                                # Create example vector
vec                                        # Print example vector
# 1  2  3  4  5  6  7  8  9 10```

Have a look at the previous output of the RStudio console. It shows that our example data is a simple numeric vector ranging from 1 to 10.

For the application of the split and unsplit commands, we also have to create a grouping vector:

```groups <- c(rep("A", 3),                   # Create grouping vector
rep("B", 5),
rep("C", 2))
groups                                     # Print grouping vector
# "A" "A" "A" "B" "B" "B" "B" "B" "C" "C"```

Our grouping vector contains of ten elements that are separating our data into three groups A, B, and C.

## Example 1: Using split() Function in R

This Example explains how to divide our example data using the split function in R. Have a look at the following programming syntax and its output:

```my_split <- split(vec, groups)             # Apply split function
my_split                                   # Print output
# \$A
#  1 2 3
#
# \$B
#  4 5 6 7 8
#
# \$C
#   9 10```

As you can see, the previous R code created a list called my_split, which contains three list elements. Each list elements consists of the values that correspond to the groups A, B, and C.

## Example 2: Using unsplit() Function in R

It is also possible to reverse the output of the split function using unsplit. In Example 2, I’ll show how to do that:

```my_unsplit <- unsplit(my_split, groups)    # Apply unsplit function
my_unsplit                                 # Print output
# 1  2  3  4  5  6  7  8  9 10```

As you can see, the previous output is exactly the same as our original vector. In other words: the output of the split function was reversed.

## Video & Further Resources

In case you need further information on the R code of this article, I can recommend to watch the following video which I have published on my YouTube channel. In the video, I’m explaining the R codes of this article:

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party. If you accept this notice, your choice will be saved and the page will refresh.

In addition to the video, you might read the related articles of my website:

This page showed how to apply the split and unsplit functions in the R programming language. Tell me about it in the comments section, if you have any further questions.

Subscribe to the Statistics Globe Newsletter