gpt4 book ai didi

r - data.table 按组求和并返回具有最大值的行

转载 作者:行者123 更新时间:2023-12-04 09:31:11 26 4
gpt4 key购买 nike

我以这种方式有一个 data.table:

dd <- data.table(f = c("a", "a", "a", "b", "b"), g = c(1,2,3,4,5))
dd

我需要对值求和 g按因子 f ,最后返回最大值为 g的单行data.table对象,但这也包含因子信息。 IE。
___f|g   
1: b 9

到目前为止我最接近的尝试是
tmp3 <- dd[, sum(g), by = f][, max(V1)]
tmp3

结果是:
> tmp3
[1] 9

编辑:理想情况下,我正在寻找一段纯粹的 data.table 代码/工作流。我很惊讶,凭借所有快速的拆分-应用-组合魔法以及以“example[i=subset,]”的形式对数据进行子集化的能力,我还没有找到一种直接的方法来对单个数据进行子集化值条件。

最佳答案

这是一种方法:

library(data.table)
dd <- data.table(
f = c("a", "a", "a", "b", "b"),
g = c(1,2,3,4,5))
##
> dd[,list(g = sum(g)),by=f][which.max(g),]
f g
1: b 9

关于r - data.table 按组求和并返回具有最大值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29211800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com