R数据表选择具有最大总和的条目

时间:2017-12-04 19:00:56

标签: r data.table

我有一个包含3列的数据表:Field1,Field2和Value。 对于Field2中的每个属性,我想在Field1中找到与Value的最大总和相对应的属性(即数据表中有多个Field1 / Field2行)。

当我尝试这个时:tempdir()我似乎得到每个Field2的第一个Field1行,而不是对应于Value的最大总和的行。

作为扩展,如果您想提供值的总和,总行数以及Field2中与Value字段中的最大总和相对应的Field1值,该怎么办?

以下是可重现的代码。

x[,.(Field1 = Field1[which.max(sum(Value))]),.(Field2)]

1 个答案:

答案 0 :(得分:0)

我们可以使用

x[, .SD[, sum(Value), Field1][which.max(V1)], Field2]

这是简洁的,因此更容易阅读。但是没有任何性能提升。