Мы можем создать логический вектор с duplicated
, преобразовать его в числовой индекс и изменить значения, основываясь на подаче входного вектора
df1$Person <- c("Different Person", "Same Person")[(duplicated(df1)|duplicated(df1,
fromLast = TRUE)) + 1]
Или с dplyr
library(dplyr)
df1 %>%
group_by_all %>%
mutate(Person = case_when(n() >1 ~ "Same Person", TRUE ~ "Different Person"))
Данные
df1 <- structure(list(id = c(1L, 1L, 1L, 2L, 2L, 3L, 4L), Name = c("A",
"A", "B", "C", "D", "E", "F"), Desc = c("abc", "abc", "def",
"ghi", "jkl", "mno", "pqr")), class = "data.frame", row.names = c(NA,
-7L))