【发布时间】:2016-10-25 19:24:58
【问题描述】:
我想删除列 a 和 b 具有相同值的所有行。此外,如果 a 和 b 相同,则 c 列应包含最新日期。我正在考虑根据 c 列对数据框进行排序,然后删除所有重复项(a 和 c)。据我了解,该功能以特定顺序“复制”过程。
例如:
a <- c(rep("A", 3), rep("B", 3), rep("C",2))
> b <- c(1,1,2,4,1,1,2,2)
> c <- c("2016-10-01", "2016-10-02", "2016-10-03", "2016-10-04", "2016-10-04", "2016-10-05", "2016-10-06", "2016-10-07")
> df <-data.frame(a,b,c)
> df
a b c
1 A 1 2016-10-01
2 A 1 2016-10-02
3 A 2 2016-10-03
4 B 4 2016-10-04
5 B 1 2016-10-04
6 B 1 2016-10-05
7 C 2 2016-10-06
8 C 2 2016-10-07
我想得到以下数据框:
a b c
1 A 1 2016-10-02
2 A 2 2016-10-03
3 B 4 2016-10-04
4 B 1 2016-10-05
5 C 2 2016-10-07
【问题讨论】:
-
df[!duplicated(df[1:2], fromLast = TRUE), ] -
找不到您的旧问题? stackoverflow.com/q/40229308/903061
标签: r dataframe duplicates rows