计算密码中的统计汇总

时间:2013-06-04 16:07:09

标签: neo4j cypher

我运行以下查询获得每个类别的平均喜欢

neo4j-sh (?)$ START n=node:node_auto_index(type = "U") match n-[r:likes]->()-[:mapsTo]->items return AVG(r.count) as AVGLIKES, items.name as CATEGORY;
==> +------------------------------------------------------+
==> | AVGLIKES           | CATEGORY                        |
==> +------------------------------------------------------+
==> | 7.122950819672131  | "Culture"                       |
==> | 1.3333333333333333 | "Food & Drinks"                 |
==> | 2.111111111111111  | "Albums"                        |
==> | 2.581081081081081  | "Movies"                        |
==> | 2.1                | "Musicians"                     |
==> | 7.810126582278481  | "Culture Celebs"                |
==> | 3.1206896551724137 | "TV Shows"                      |
==> | 1.0                | "Apps/Games"                    |
==> | 4.0256410256410255 | "Cars"                          | 

但AVG是内置函数,如何计算每个类别的标准差和其他统计摘要。我在SQL中寻找类似“GROUP BY”的东西,它将为每个类别分组所有内容,然后我可以编写一些代码或者有更好的方法来实现它。

1 个答案:

答案 0 :(得分:0)

我在去年年底添加了percentile_disc,percentile_cont聚合函数。我想他们愿意合并std dev的函数。理论上(我认为,我的统计数据是生锈的)你可以根据一些百分位样本和平均值来计算标准差。那么,除了标准偏差之外,你还在寻找什么呢?

更新: 我对stdev / stdevp聚合函数提出了拉取请求:https://github.com/neo4j/neo4j/pull/859