A: перевірте, чи існує рядок одного кадру даних в іншому


Ви можете використовувати такий синтаксис, щоб додати новий стовпець до кадру даних у R, який вказує, чи існує кожен рядок в іншому кадрі даних:

 df1$exists <- do. call (paste0, df1) %in% do. call (paste0, df2)

Цей конкретний синтаксис додає стовпець з назвою exist до кадру даних з назвою df1 , який містить TRUE або FALSE , щоб вказати, чи існує кожен рядок у df1 в іншому кадрі даних з назвою df2 .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: перевірте, чи існує рядок з одного кадру даних в іншому в R

Припустимо, ми маємо наступні два кадри даних у R:

 #create first data frame
df1 <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                  dots=c(12, 15, 22, 29, 24))

#view first data frame
df1

  team points
1 to 12
2 B 15
3 C 22
4 D 29
5 E 24

#create second data frame
df2 <- data. frame (team=c('A', 'D', 'F', 'G', 'H'),
                  dots=c(12, 29, 15, 19, 10))

#view second data frame
df2

  team points
1 to 12
2 D 29
3 F 15
4 G 19
5:10 a.m.

Ми можемо використати такий синтаксис, щоб додати стовпець з назвою exists до першого кадру даних, який вказує, чи існує кожен рядок у другому кадрі даних:

 #add new column to df1 that shows if row exists in df2
df1$exists <- do. call (paste0, df1) %in% do. call (paste0, df2)

#view updated data frame
df1

  team points exists
1 TO 12 TRUE
2 B 15 FALSE
3 C 22 FALSE
4 D 29 TRUE
5 E 24 FALSE

Новий стовпець існує вказує, чи існує кожен рядок у першому кадрі даних у другому кадрі даних.

З результату ми бачимо:

  • Перший рядок df1 існує в df2 .
  • Другий рядок df1 не існує в df2 .
  • Третій рядок df1 не існує в df2 .

І так далі.

Зверніть увагу, що ви також можете використовувати is.numeric() для відображення 1 і 0 замість TRUE або FALSE в існуючому стовпці:

 #add new column to df1 that shows if row exists in df2
df1$exists <- as. numeric (do. call (paste0, df1) %in% do. call (paste0, df2))

#view updated data frame
df1

  team points exists
1 to 12 1
2 B 15 0
3 C 22 0
4 D 29 1
5 E 24 0

Значення 1 вказує на те, що рядок з першого блоку даних існує в другому.

І навпаки, значення 0 вказує на те, що рядок у першому кадрі даних не існує у другому.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

A: Як перевірити, чи кілька стовпців рівні
A: Як вибрати окремі рядки у кадрі даних
A: Як повторити рядки у кадрі даних

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *