Jak korzystać z funkcji setdiff w r (z przykładami)
Funkcji setdiff() w R można użyć do znalezienia różnic między dwoma zbiorami. Ta funkcja używa następującej składni:
setdiff(x,y)
Złoto:
- x, y: wektory lub ramki danych zawierające sekwencję elementów
W tym samouczku znajdziesz kilka przykładów praktycznego wykorzystania tej funkcji.
Przykład 1: Setdiff z wektorami numerycznymi
Poniższy kod pokazuje, jak użyć setdiff() do zidentyfikowania wszystkich wartości w wektorze a , które nie pojawiają się w wektorze b :
#definevectors a <- c(1, 3, 4, 5, 9, 10) b <- c(1, 2, 3, 4, 5, 6) #find all values in a that do not occur in b setdiff (a,b) [1] 9 10
W wektorze a występują dwie wartości, które nie występują w wektorze b : 9 i 10 .
Jeśli odwrócimy kolejność wektorów w funkcji setdiff() , możemy zamiast tego zidentyfikować wszystkie wartości w wektorze b , które nie pojawiają się w wektorze a :
#find all values in b that do not occur in a setdiff (b,a) [1] 2 6
W wektorze b pojawiają się dwie wartości, które nie występują w wektorze a : 2 i 6 .
Przykład 2: Setdiff z wektorami znakowymi
Poniższy kod pokazuje, jak użyć setdiff() do zidentyfikowania wszystkich wartości w wektorze char1 , które nie pojawiają się w wektorze char2 :
#define character vectors char1 <- c('A', 'B', 'C', 'D', 'E') char2 <- c('A', 'B', 'E', 'F', 'G') #find all values in char1 that do not occur in char2 setdiff (char1, char2) [1] “C” “D”
Przykład 3: Setdiff z ramkami danych
Poniższy kod pokazuje, jak używać setdiff() do identyfikowania wszystkich wartości w kolumnie ramki danych, które nie pojawiają się w tej samej kolumnie drugiej ramki danych:
#define data frames df1 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 94, 104)) df2 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 98, 99)) #find differences between the points columns in the two data frames setdiff (df1$points, df2$points) [1] 94 104
Widzimy, że wartości 94 i 104 pojawiają się w kolumnie punktowej pierwszej ramki danych, ale nie w kolumnie punktowej drugiej ramki danych.
Dodatkowe zasoby
Jak sumować określone kolumny w R
Jak sumować określone wiersze w R
Jak wykonać częściowe dopasowanie ciągów w R