R union Function | 3 Example Codes (Two Vectors, Data Frames & Lists)

 

Basic R Syntax:

union(x1, x2)

 

In R, the union function returns all values that appear in at least one of two data objects (usually vectors). Each value is returned only once. The basic syntax for the union R command is shown above.

In this article, I’m going to illustrate the usage of the union function on the basis of 3 examples. Let’s start right away…

 

Example 1: Union of Two Vectors in R

Let’s begin with two vectors – the simplest way of using union in R. Consider the following two vectors as example:

x1 <- c(1, 2, 3, 4, 5, 6, 6, 6, 6)    # Example vector 1
x2 <- c(8, 9)                         # Example vector 2

Keep in mind that the vector X1 consists of the values 1-6; and the vector X2 consists of the values 8-9 (7 is missing). Now, let’s apply the union function:

union(x1, x2)                         # R union of two vectors
# 1 2 3 4 5 6 8 9

Beside 7 (the value which didn’t appear in any of the two vectors), the R union function returns all values from 1-9. In other words, the function returns all values that appear at least once either in X1 or X2.

Note: The value 6 is returned only once, even though it appears several times in X1.

 

Example 2: Union of Two Data Frames

The union command can also be used for the unification of two data frames. Let’s create two data frames first:

data_x <- data.frame(x1 = c(4, 7, 8), # Data frame 1
                     x2 = c(5, 5, 5))
# x1 x2
#  4  5
#  7  5
#  8  5
 
data_y <- data.frame(y1 = c(2, 3, 4), # Data frame 2
                     y2 = c(5, 5, 5))
 
# y1 y2
#  2  5
#  3  5
#  4  5

Note that the second column of the two data tables is equal (i.e. X2 = Y2). Now, let’s apply the union function to these two data frames:

union(data_x, data_y)                 # R union two data frames

 

R union Data Frames

Graphic 1: RStudio Console Output after Applying union() to Two Data Frames.

 

Graphic 1 shows the output of the RStudio console. The output is a list and each element of the list consists of the values of one column of the two data frames:

  • List element 1 consists of the values of the first column of data_x.
  • List element 2 consists of the values of the second column of data_x.
  • List element 3 consists of the values of the first column of data_y.

The second column of data_y is missing, since it is identical to the second column of data_x (i.e. X2).

If you want to convert the list back to the data.frame format, you can use the following R syntax:

union_xy <- union(data_x, data_y)     # Store union of data frames
unlist_xy <- unlist(union_xy)         # Unlist union of data frames
data_xy <- data.frame(                # Convert list to data.frame
  matrix(unlist_xy, ncol = length(union_xy)))
 
data_xy
# X1 X2 X3
#  4  5  2
#  7  5  3
#  8  5  4

More information on the used functions can be found here:

 

Example 3: Union of List Elements

It is also possible to use the R union function for two lists. Let’s first create two lists in R:

list_1 <- list()                       # Create example list 1
list_1[[1]] <- c(1, 2, 3)
list_1[[2]] <- c(5, 5, 5)
 
list_2 <- list()                       # Create example list 2
list_2[[1]] <- c(1, 2, 3)
list_2[[2]] <- c(6, 6, 6)

Note: The first element of both lists is equal (i.e. list_1[[1]] == list_2[[1]]).

Now, let’s apply the union function to our 2 lists:

union(list_1, list_2)                  # R union two lists

 

R union 2 Lists

Graphic 2: RStudio Console Output after Applying union() to Two Lists.

 

Graphic 2 shows the output of the RStudio console after the application of union to two lists. The output is also a list object that consists of the first two list elements of list_1 as well as of the second list element of list_2. The list element 1 of list_2 is not returned, since the values of this list element are identical with the values of the first element of list_1.

In other words: All unique list elements are returned by the union function.

 

Video: union and Other Set Functions

Have a look at the following video of the YouTube channel LearnR for more examples of the R union function and other so called set functions such as intersect, setdiff, or setequal.

 

 

Further Reading

 



 

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Menu