бегаю следующий запрос получить средние любит для каждой категорииРасчет статистического резюме в шифровальщике
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 является встроенной функцией, как рассчитать стандартное отклонение и другие статистические сводки для каждой категории , Я ищу что-то вроде «GROUP BY» в SQL, который будет группировать все для каждой категории, а затем я мог бы написать код или, если есть лучший способ сделать это.
диапазон и медиана имеют важное значение. Как я могу это сделать сам. например sd = sqrt (сумма (x-mean (x))^2/(n-1)). Проблема в том, что если я использую сбор, мне все равно нужно иметь среднее значение (x), поэтому я не уверен, как это сделать. – user1848018
Медиан - это то же самое, что и percentile_disc (x, .5), а диапазон - max (x) и мин (х). Вы можете имитировать среднее значение над коллекцией, используя сокращение:: (total = 0, x in coll: total + x)/length (coll). –
Я начал работать над запросом на pull для stdev и stdevp. –