Я хотел бы создать новую переменную, используя оператор ifelse и следующие данные:
ID Column 1 Column 2 Column 3 Column 4 Column 5
Ann 1 Y A 2000-10-15 2000-10-14
Ann 1 N A 2000-10-16 2000-11-14
Ben 1 Y B 2000-10-11 2000-11-14
Ben 2 Y B 2000-11-13 2000
Fred 1 N A 2000-11-11 2000-11-15
Jenny 1 Y A 2001-11-12 2000-10-14
Jenny 1 Y A 2001-11 2000-11-15
По идентификатору я хотел бы найти последнюю полную дату, если она соответствует определенным критериям.Критерии будут выбирать только последнюю дату, если она равна 1 в столбце 1, а A в столбце 3 в противном случае оставить пустым.Второй критерий, который я хотел бы использовать, - это ID, если в столбце 3 указано B, сохраните эту дату B.Таким образом, это выглядело бы так:
ID Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
Ann 1 Y A 2000-10-15 2000-10-14 2000-10-15
Ann 1 N A 2000-10-16 2000-11-14
Ben 1 Y B 2000-10-11 2000-11-14 2000-11-14
Ben 2 Y B 2000-11-13 2000
Fred 1 N A 2000-11-11 2000-11-15
Jenny 1 Y A 2001-11-12 2000-10-14 2001-11-12
Jenny 1 Y A 2001-11 2000-11-15
Я считаю, что утверждение if могло бы выглядеть примерно так, но мог бы быть и лучший путь.Кроме того, моя функция lastcompletedate не завершена:
ifelse(Column 1 == 1 & Column 3 == "Y", lastcompletedate(Column4),
ifelse(Column 2 == 'B', lastcompletedate(Column5), "")
lastcompletedate <-ddply(df,.(ID), tail,1)