【发布时间】:2013-01-15 10:30:03
【问题描述】:
我有一个包含几列 (17) 的 data.frame。 第 2 列有几行具有相同的值,我只想保留其中的一行,特别是第 17 列中具有最大值的行。
例如:
A B
'a' 1
'a' 2
'a' 3
'b' 5
'b' 200
Would return
A B
'a' 3
'b' 200
(加上其余的列)
到目前为止,我一直在使用 unique 功能,但我认为它会随机保留一个或仅保留出现的第一个。
** 更新 ** 真实数据有 376000 行。我已经尝试过 data.table 和 ddply 建议,但它们需要永远。任何想法最有效?
【问题讨论】:
-
搜索
tapply或plyr,你会发现很多很多相同的问题。 -
关于更新:您需要提供更多信息。我已经测试了 10M 行和 26 组的 data.table 解决方案,性能令人满意。
-
我正在测试提供的第一个解决方案。 Roland 的最后一次更新需要几分钟时间。谢谢!