如何根据R中的最大日期从数据集中删除重复记录?

问题描述 投票:-2回答:1
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

我想找到只有最大日期的唯一名称。

r
1个回答
0
投票

这可以通过不同的方式完成,这里有一个使用aggregate

首先强迫你的日期到班级"Date"

dat $Date.of.Birth <- as.Date(dat$Date.of.Birth, "%d-%m-%Y")

现在aggregateName的日期,只保留最大值。

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一致。

© www.soinside.com 2019 - 2024. All rights reserved.