#r
#r
Вопрос:
у меня есть фрейм данных, как показано ниже, теперь я хочу проверить, дублируется ли имя перед @, если дублируется, то измените новый столбец на (1,0) для TRUE и FALSE
df <- data.frame(ID =c("DEV2962","KTN2252","ANA2719","ITI2624","DEV2698","HRT2921","","KTN2624","ANA2548","ITI2535","DEV2732","HRT2837","ERV2951","KTN2542","ANA2813","ITI2210"),
city=c("del","mum","nav","pun","bang","chen","triv","vish","del","mum","bang","vish","bhop","kol","noi","gurg"),
email = c("akash.dev@gmail.com","rahul.singh@gmail.com","salman.abbas@gmail.com","ram.lal@gmail.com","ram.lal@gmail.com","prabal.garg@gmail.com","sanu.ali@gmail.com","kunal.singh@gmail.com","lakhan.tomar@gmail.com","praveen.thakur@gmail.com","sarman.ali@gmail.com","zuber.khan@gmail.com","giriraj.singh@gmail.com","lokesh.sharma@gmail.com","pooja.pawar@gmail.com","nikita.sharma@gmail.com"),
name= c("dev,akash","singh,rahul","abbas,salman","lal,ram","singh,nkunj","garg,prabal","ali,sanu","singh,kunal","tomar,lakhan","thakur,praveen","ali,sarman","khan,zuber","singh,giriraj","sharma,lokesh","pawar,pooja","sharma,nikita"))
у меня также есть тот же старый фрейм данных, чтобы проверить, присутствует ли идентификатор почты в старом фрейме данных, если присутствует, проверьте, что все записи одинаковы (имя, город, идентификатор)
я пытался использовать string_detect, но это не работает.
вывод будет выглядеть
Комментарии:
1. Можете ли вы опубликовать
old
вdput
формате? Пожалуйста, отредактируйте вопрос с выводомdput(old)
. Или, если оно слишком большое с выводомdput(head(old, 20))
.
Ответ №1:
Это должно подействовать на первую часть вопроса:
library(stringr)
df %>%
mutate(first =str_extract(email, "[^\@] "),
duplicate = as.numeric(duplicated(first)))
Первая строка извлекает все до @
, а вторая строка находит любые дублированные наблюдения first
.
Комментарии:
1. Голосовать за, но я бы закончил канал на
select(-first)
, вспомогательный столбец отсутствует в ожидаемом выводе.