我想知道如何在R中写一个类似的函数复制()而不是返回第二个条目,我希望它返回第一个。
head(newdata)
datetime frequency
1 2012-01-04 17:38:28 0
2 2012-01-04 17:38:28 1
3 2012-01-04 17:38:29 0
4 2012-01-04 17:38:29 1
5 2012-01-04 17:38:30 0
6 2012-01-04 17:38:31 0
isDup <- duplicated(newdata$datetime)
head(newdata[isDup,])
datetime frequency
2 2012-01-04 17:38:28 1
4 2012-01-04 17:38:29 1
8 2012-01-04 17:38:32 2
10 2012-01-04 17:38:33 2
12 2012-01-04 17:38:34 3
14 2012-01-04 17:38:35 1
我希望它返回此代码:
1 2012-01-04 17:38:28 0
3 2012-01-04 17:38:29 0
在duplicate()函数中没有参数可以做到这一点,所以我认为解决这个问题的唯一方法就是重写它?我是R和编程的新手,所以我不知道如何解决这个问题。谢谢!
编辑/澄清:我得到了罗兰的解决方案,非常感谢。
我不需要重写函数,因为duplicated()
中的参数确实存在
对于所有其他新手,请使用fromLast参数:
isDup <- duplicated(newdata$datetime, fromLast = TRUE)
timeline <- newdata[!isDup,]
head(timeline)
datetime frequency
2 2012-01-04 17:38:28 1
4 2012-01-04 17:38:29 1
5 2012-01-04 17:38:30 0
6 2012-01-04 17:38:31 0
8 2012-01-04 17:38:32 2
10 2012-01-04 17:38:33 2