Это можно сделать разными способами, вот один из них, использующий aggregate
.
Сначала приведите ваши даты в класс "Date"
.
dat $Date.of.Birth <- as.Date(dat$Date.of.Birth, "%d-%m-%Y")
Теперь aggregate
даты на Name
и сохраните только максимумы.
aggregate(Date.of.Birth ~Name, dat, function(x) x[which.max(x)])
# Name Date.of.Birth
#1 Akash 2000-09-25
#2 Nitin 1999-09-25
#3 Rohit 2001-09-25
Данные.
dat <- read.table(text = "
Name 'Date of Birth'
Nitin 25-09-1991
Akash 25-09-1992
Nitin 25-09-1993
Nitin 25-09-1994
Nitin 25-09-1995
Nitin 25-09-1996
Rohit 25-09-1997
Akash 25-09-1998
Nitin 25-09-1999
Akash 25-09-2000
Rohit 25-09-2001
", header = TRUE)
Обратите внимание, что read.table
заменяет пробелы в имени второго столбца точками.Вы можете заставить read.table
оставить имена столбцов такими, как они есть в аргументе check.names = FALSE
.