Это то, что вы хотели ...
Первые данные для воспроизводимого отчета:
dat <- data.frame(Company = c("A","A","A","A","A","B","B","B","B","C","C","C","C","D","D","D","D"),
UserID = c("Simon","Hans","Jane","Alex","David","Dan","Sarah","Susan","Bob","Keith",
"Harry","Adam","Kenneth","Denial","Henna","John","Dylan"),
First_Log_in_Date = c("2018-02-22","#","2018-03-07","2018-04-29","#","#","#",
"2018-05-01","2018-02-27","2018-06-08","2018-07-12",
"2018-02-21","#","#","#","#","#"),
stringsAsFactors = F)
Чтобы ответить на ваш оригинальный вопрос, я бы просто использовал базовую функцию ifelse ():
dat$Onboarding <- ifelse(dat$First_Log_in_Date=="#", "NO", "YES")
И мы получаем столбец «Включение», заполненный Да или Нет, в зависимости от даты входа в систему.
Чтобы ответить на второй вопрос, основанный на вашем условии, я бы просто использовал функции пакета "dplyr":
dat <- dat %>% group_by(Company) %>%
mutate(onborded = ifelse(n_distinct(First_Log_in_Date) > 1, "Yes", "No"))
Мы получаем столбец результатов «Входящие», заполненный «Да» или «Нет», в зависимости от даты входа сотрудников в любую компанию группы, отличную от «#».
Таблица будет выглядеть так: