Set Operations in R
Set Operations in R Definition and Creation of Sets In R, sets are often represented by vectors and manipulated using specialized functions. Although R does not have a native “set” type like some other languages, vectors can be used to represent sets and perform operations on them. Creating Sets: # Create sets A <- c(1, 2, 3, 4, 5) B <- c(4, 5, 6, 7, 8) Basic Operations Union The union of two sets is a set containing all elements from both sets, with duplicates removed. Function in R: union() # Calculate the union union_set <- union(A, B) print(union_set) # [1] 1 2 3 4 5 6 7 8 Intersection The intersection of two sets is a set containing only the elements present in both sets. Function in R: intersect() # Calculate the intersection intersection_set <- intersect(A, B) print(intersection_set) # [1] 4 5 Difference The difference between two sets is a set containing the elements of the first set that are not in the second set. Function in R: setdiff() # Calculate the difference difference_set_A_B <- setdiff(A, B) print(difference_set_A_B) # [1] 1 2 3 difference_set_B_A <- setdiff(B, A) print(difference_set_B_A) # [1] 6 7 8 Symmetric Difference The symmetric difference between two sets is a set containing elements that are in either of the sets but not in both. Function in R: setxor() # Calculate the symmetric difference symmetric_difference <- setxor(A, B) print(symmetric_difference) # [1] 1 2 3 6 7 8 Advanced Operations Subset Check Check if one set is a subset of another set. Function in R: all() with match() # Check if A is a subset of B is_subset <- all(A %in% B) print(is_subset) # [1] FALSE Set Equality Check if two sets are equal, meaning they contain the same elements. Function in R: identical() # Check if A and B are equal are_equal <- identical(sort(A), sort(B)) print(are_equal) # [1] FALSE Manipulating Sets Adding Elements Add elements to a set by taking the union with a vector of new elements. Example: # Add elements to a set A <- union(A, c(9, 10)) print(A) # [1] 1 2 3 4 5 9 10 Removing Elements Remove elements from a set by taking the difference. Example: # Remove elements from a set A <- setdiff(A, c(1, 10)) print(A) # [1] 2 3 4 5 9 Practical Applications Example: Group Management Suppose you manage groups of people and want to find members who are only in one group but not the other. # Group memberships group1 <- c(“Alice”, “Bob”, “Charlie”) group2 <- c(“Bob”, “Charlie”, “David”) # Members only in group1 only_group1 <- setdiff(group1, group2) print(only_group1) # [1] “Alice” # Members only in group2 only_group2 <- setdiff(group2, group1) print(only_group2) # [1] “David” Summary Union: union(A, B) — Combines all elements from both sets. Intersection: intersect(A, B) — Common elements between both sets. Difference: setdiff(A, B) — Elements in the first set but not in the second. Symmetric Difference: setxor(A, B) — Elements in either set but not in both. Subset Check: all(A %in% B) — Checks if all elements of A are in B.
Set Operations in R Lire la suite »