使用Dplyr

时间:2016-05-30 15:01:56

标签: r duplicates

 mtime          Speed
 04:27:00.000   83,0903472900391
 04:28:00.000   90,4319076538086
 04:28:00.000   83,3221054077148

我需要使用速度最大值的条件删除R中mtime列的重复项。 结果表应如下所示。

 mtime          Speed
 04:27:00.000   83,0903472900391
 04:28:00.000   90,4319076538086

时间可能有多个重复值,但除了速度最快的值外,它应删除所有值。

k<- filter(kj, unique(mtime), max(vPkwCommon))

当我使用dplyr尝试此操作时,它返回"Error: ‘max’ not meaningful for factors"

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

首先订购您的行,然后在mtime列中过滤掉重复项:

kj %>% arrange (mtime, - Speed) %>% filter (!duplicated (mtime))

-符号会逐渐降低您的速度列。然后,当您使用!duplicated过滤器时,只保留重复运行mtime中的第一个值,这将包含Speed的最大值。