【问题标题】:SQL Commands for Statistical Modelling用于统计建模的 SQL 命令
【发布时间】:2015-01-22 23:36:03
【问题描述】:

我有一组曲棍球统计数据导入到 R 中的数据框中。我无法为我想要的数据集找到正确的查询。

所有记录都保存在 1 个名为溜冰者的表中

Name     Team     Opp     G
AAAAA     PHI     BOS     2
BBBBB     NYR     OTT     7
AAAAA     PHI     BOS     9
DDDDD     BOS     PHI     3
EEEEE     BOS     PHI     1
FFFFF     PHI     BOS     2
GGGGG     OTT     NYR     3

我想找到一种方法来计算每队 G 的总和。想法是你使用像

这样的查询

SELECT DISTINCT(Team), SUM(G) FROM skaters 但这并没有达到我的预期。

然后我找到了 GROUP BY 函数,它找到了正确的数据。然后我想再次提高赌注。

我想执行一个查询,该查询将执行我正在寻找的总和,但对于主队和客队球队并进行比较。

【问题讨论】:

  • 提示:这是一个基本的group by 查询。
  • 如果你用的是r,为什么要混入sql? here 是解决这类问题的一堆方法
  • @rawr 我没有使用 SQL 的要求,但由于我对 R 已经不熟悉,所以使用类似 SQL 的查询环境似乎是个好主意。

标签: mysql sql r statistics


【解决方案1】:

希望这是您正在寻找的。​​p>

SELECT Team, SUM(G) 'Sum' FROM skaters group by Team

【讨论】:

  • 请将您的代码缩进 4 个空格以将其格式化为 SO。
【解决方案2】:
library(data.table)
setDT(df)  # convert data frame to data table
df[,list(sum_G = sum(G)), by=Team]  
#    Team sum_G
# 1:  PHI    13
# 2:  NYR    10
# 3:  BOS     4

# Or 

library(dplyr)
df %>% group_by(Team) %>% summarise(sum_G = sum(G))

【讨论】:

    【解决方案3】:

    由于您声明您在数据框中拥有统计信息:

    aggregate(skaters$G, list(skaters$Team), sum)
    

    【讨论】:

      【解决方案4】:
          Select Team ,Sum(G) as Total from skaters Group by Team
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多