6.9 按序号对齐分组:可重复分组

 

有时候每条记录计算出的分组序号是多个,我们希望将记录按照序号数列重复性的分配到多个组中。

根据发帖记录表,按标签将帖子分组,并统计各个标签出现频数。发帖记录表部分数据如下:

ID Title Author Label
1 Easy analysis of Excel 2 Excel,ETL,Import,Export
2 Early commute: Easy to pivot excel 3 Excel,Pivot,Python
3 Initial experience of SPL 1 Basics,Introduction
4 Talking about set and reference 4 Set,Reference,Dispersed,SQL
5 Early commute: Better weapon than Python 4 Python,Contrast,Install

在SPL中函数A.align(n,y)的选项@r ,用于在对齐分组时按序号重复性分组。
脚本:

A
1 =T(“PostRecord.txt”)
2 =A1.conj(Label.split(“,”)).id()
3 =A1.align@ar(A2.len(),A2.pos(Label.split(“,”)))
4 =A3.new(A2(#):Label,~.count():Count).sort@z(Count)

A1:查询发帖记录表。
A2:将标签按逗号分隔后合并到一个序列,获得没有重复值的全部标签。
A3:使用函数A.align@r (n,y)的,按照每个帖子的标签在全部标签中的定位分组,选项@r
A4:统计每个标签的帖子数量,按降序排列。

运行结果:

Label Count
SPL 7
Excel 6
Basics 5