Get All Possible Subsets of Vector in R (2 Examples)
In this tutorial you’ll learn how to find all possible subsets of vector elements in the R programming language.
Table of contents:
Let’s jump right to the examples!
Example Data
The following data is used as basement for this R programming tutorial:
my_vec <- paste0("C", 1:3) # Create example vector my_vec # Print example vector # [1] "C1" "C2" "C3"
Have a look at the previous RStudio console output. It shows that our example data is a vector containing the three vector elements “C1”, “C2”, and “C3”.
Example 1: Return All Possible Combinations of Vector Using combinat Package
Example 1 demonstrates how to use the combinat package to get all possible subsets of a vector.
To be able to use the functions of the combinat package, we first have to install and load combinat:
install.packages("combinat") # Install combinat package library("combinat") # Load combinat
Next, we can use the unlist, lapply, length, and combn functions to create a list containing all subset combinations of our vector:
my_combi1 <- unlist(lapply(1:length(my_vec), # Get all combinations combinat::combn, x = my_vec, simplify = FALSE), recursive = FALSE) my_combi1 # Print all combinations # [[1]] # [1] "C1" # # [[2]] # [1] "C2" # # [[3]] # [1] "C3" # # [[4]] # [1] "C1" "C2" # # [[5]] # [1] "C1" "C3" # # [[6]] # [1] "C2" "C3" # # [[7]] # [1] "C1" "C2" "C3"
The previous output of the RStudio console shows our result: We have created a list where each list element represents a different subset of our input vector.
Example 2: Return All Possible Combinations of Vector Using sets Package
Alternatively to the combinat package, we can also use the sets package to get all possible subsets of a vector.
First, we need to install and load the sets package:
install.packages("sets") # Install sets package library("sets") # Load sets package
In the next step, we can apply the set_power function to return all subsets of our vector:
my_combi2 <- set_power(my_vec) # Get all combinations my_combi2 # Print all combinations # {{}, {"C1"}, {"C2"}, {"C3"}, {"C1", "C2"}, {"C1", "C3"}, {"C2", "C3"}, {"C1", "C2", "C3"}}
Note that the previous R code has created a set object. You can learn more about the handling of sets here.
Video, Further Resources & Summary
If you need further info on the topics of this page, I recommend watching the following video on my YouTube channel. I explain the R programming codes of this page in the video:
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, you may want to read some of the other tutorials on my website:
- Calculate Combinations & Permutations in R
- Get Frequency of Elements with Certain Value in Vector (2 R Examples)
- Get Last Value of Vector
- Test for Equality of All Vector Elements
- Get All Factor Levels of Vector & Data Frame Column
- All R Programming Examples
In this article you have learned how to identify all possible subsets of elements in a vector in R programming. Don’t hesitate to tell me about it in the comments section, if you have additional questions.
Statistics Globe Newsletter