首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库查询中创建组

在数据库查询中创建组
EN

Stack Overflow用户
提问于 2011-12-14 20:04:48
回答 2查看 160关注 0票数 1
代码语言:javascript
复制
  TRANSACTION_DATE_TIME TRANSACTION_AMOUNT TRANSACTION_TYPE TRANSACTION_MODE
1    2010-4-1.18.0. 17. 0               2000       Withdrawal             Cash
2   2010-4-2.14.44. 47. 0               2000       Withdrawal             Cash
3   2010-4-2.16.53. 33. 0               6000       Withdrawal             Cash
4   2010-4-5.16.22. 26. 0               2100       Withdrawal             Cash
5   2010-4-7.21.23. 11. 0                 99       Withdrawal             Cash
6   2010-4-8.16.15. 35. 0                700       Withdrawal             Cash
7  2010-4-15.18.11. 17. 0                250          Deposit         Transfer
8  2010-4-17.14.17. 58. 0                737          Deposit         Transfer
9  2010-4-19.14.19. 42. 0               1600       Withdrawal             Cash
10 2010-4-30.15.55. 49. 0              13950          Deposit         Transfer

这是我从DB Query中获得的矩阵。我想根据TRANSACTION_TYPE对行进行分组,并为取款和存款组找到相应的TRANSACTION_AMOUNT总和。帮我在R语言中做同样的事情。

EN

回答 2

Stack Overflow用户

发布于 2011-12-14 22:19:59

有很多方法可以解决这个问题,但一种方法是使用sqldf包,它允许您在数据帧上执行类似SQL的操作。否则sqldf会被卡住。

代码语言:javascript
复制
data_summary <- sqldf("SELECT TRANSACTION_TYPE, SUM(TRANSACTION_AMOUNT) as Total FROM df GROUP BY TRANSACTION_TYPE) 
票数 2
EN

Stack Overflow用户

发布于 2011-12-14 23:02:39

我能想到另外两个选项:

  1. 将grouping子句添加到原始数据库查询中,然后将数据提取到R中。
  2. 请签出data.table包,例如:

dtf <- data.frame(age=rchisq(100000,10),group=factor(sample(1:10,100000,rep=T)

dt <- data.table(dt)

dt,list(mean=mean(年龄),sd=sd(年龄)),by=group

(示例borrowed from here)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8507535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档