Як використовувати оператор %in% у r (з прикладами)
Оператор %in% у R дозволяє визначити, чи належить елемент вектору чи кадру даних.
Цей посібник містить три приклади використання цієї функції в різних сценаріях.
Приклад 1: використання %in% із векторами
Ми можемо використовувати оператор %in% , щоб визначити, скільки елементів вектора належать іншому вектору:
#define two vectors of data data1 <- c(3, 5, 7, 7, 14, 19, 22, 25) data2 <- c(1, 2, 3, 4, 5) #produce new vector that contains elements of data1 that are in data2 data1[data1 %in% data2] [1] 3 5
Ми бачимо, що значення 3 і 5 є єдиними елементами вектора з міткою data2 , які знаходяться у векторі з міткою data1 .
Приклад 2: використовуйте %in% для фільтрації кадрів даних
Ми також можемо використовувати оператор %in% для фільтрації рядків у кадрі даних, що містять певні значення:
#define data frame df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'), points=c(67, 72, 77, 89, 84, 97), assists=c(14, 16, 12, 22, 25, 20)) #view data frame df team points assists 1 A 67 14 2 A 72 16 3 B 77 12 4 B 89 22 5 B 84 25 6 C 97 20 #produce new data frame that only contains rows where team is 'B' df_new <- df[df$team %in% c(' B '), ] df_new team points assists 3 B 77 12 4 B 89 22 5 B 84 25 #produce new data frame that only contains rows where team is 'B' or 'C' df_new2 <- df[df$team %in% c(' B ', ' C '), ] df_new2 team points assists 3 B 77 12 4 B 89 22 5 B 84 25 6 C 97 20
Приклад 3: використовуйте %in% для створення стовпців фрейму даних
Ми також можемо використовувати оператор %in% для створення нових стовпців фрейму даних.
Наприклад, у наведеному нижче коді показано, як створити новий стовпець під назвою дивізія , у якому команди «A» і «C» розміщуються як «Схід», а команди «B» як «Захід»:
library (dplyr) #define data frame df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'), points=c(67, 72, 77, 89, 84, 97), assists=c(14, 16, 12, 22, 25, 20)) #view data frame df team points assists 1 A 67 14 2 A 72 16 3 B 77 12 4 B 89 22 5 B 84 25 6 C 97 20 #create new column called division df$division = if_else (df$team %in% c(' A ', ' C '), ' East ', ' West ') df team points assists division 1 A 67 14 East 2 A 72 16 East 3 B 77 12 West 4 B 89 22 West 5 B 84 25 West 6 C 97 20 East
Додаткові ресурси
Як об’єднати два стовпці в один у R
Як додати рядки до кадру даних у R
Як порівняти два стовпці в R