gpt4 book ai didi

r - data.frame 按列分组

转载 作者:行者123 更新时间:2023-12-03 05:40:15 25 4
gpt4 key购买 nike

我有一个数据框 DF。

假设 DF 是:

  A B
1 1 2
2 1 3
3 2 3
4 3 5
5 3 6

现在我想将 A 列的行组合在一起,并获得 B 列的总和。

例如:

  A B
1 1 5
2 2 3
3 3 11

我目前正在使用带有 sqldf 函数的 SQL 查询来执行此操作。但由于某种原因,它非常慢。有没有更方便的方法来做到这一点?我也可以使用 for 循环手动执行此操作,但它又很慢。我的 SQL 查询是“从 A 的 DF 组中选择 A,Count(B)”。

一般来说,每当我不使用向量化操作而使用 for 循环时,即使对于单个过程,性能也非常慢。

最佳答案

这是一个常见问题。在基础中,您要寻找的选项是aggregate。假设您的 data.frame 名为“mydf”,您可以使用以下内容。

> aggregate(B ~ A, mydf, sum)
A B
1 1 5
2 2 3
3 3 11

我还建议查看“data.table”包。

> library(data.table)
> DT <- data.table(mydf)
> DT[, sum(B), by = A]
A V1
1: 1 5
2: 2 3
3: 3 11

关于r - data.frame 按列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799901/

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