Как использовать функцию setdiff в r (с примерами)
Функцию setdiff() в R можно использовать для поиска различий между двумя наборами. Эта функция использует следующий синтаксис:
установитьdiff(x,y)
Золото:
- x, y: векторы или кадры данных, содержащие последовательность элементов.
В этом руководстве представлено несколько примеров практического использования этой функции.
Пример 1: Setdiff с числовыми векторами
Следующий код показывает, как использовать setdiff() для идентификации всех значений в векторе a , которые не появляются в векторе 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
В векторе a есть два значения, которых нет в векторе b : 9 и 10 .
Если мы изменим порядок векторов в функции setdiff() , мы сможем вместо этого идентифицировать все значения в векторе b , которые не встречаются в векторе a :
#find all values in b that do not occur in a setdiff (b,a) [1] 2 6
В векторе b есть два значения, которых нет в векторе a : 2 и 6 .
Пример 2: Setdiff с векторами символов
Следующий код показывает, как использовать setdiff() для идентификации всех значений в векторе char1 , которые не появляются в векторе 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”
Пример 3: Setdiff с кадрами данных
Следующий код показывает, как использовать setdiff() для идентификации всех значений в столбце фрейма данных, которые не отображаются в том же столбце второго фрейма данных:
#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
Мы видим, что значения 94 и 104 появляются в столбце точек первого фрейма данных, но не в столбце точек второго фрейма данных.
Дополнительные ресурсы
Как суммировать определенные столбцы в R
Как суммировать определенные строки в R
Как выполнить частичное сопоставление строк в R