A.groupc( g ; v )

阅读(173) 标签: 行列转换,

描述

对序列的序列执行行列转换计算。

语法:

A.groupc(g;v)

备注:

对序列A的成员序列执行行列转换计算。默认为行转列。

A是由序列组成的序列,gv是由A成员序列中的部分成员组成的序列,引用A成员的成员时用~(i)~i形式表示。

A成员根据g分组,然后将v对应分布到每组序列中,返回序列组成的序列。

参数gv中只有一个成员时可以写成单值的形式。

参数:

A

由序列组成的序列。

g

A成员序列中的部分成员组成的序列。

v

A成员序列中的部分成员组成的序列。

选项:

@r(g;v;k)

列转行。k为整数,v中每k个成员作为一组与g组成新的序列,返回这些序列组成的序列。

返回值:

序列组成的序列

示例:

 

A

 

1

=file("t3.txt").cursor@w().fetch()

返回由序列组成的序列:

2

=A1.groupc(~(1);[(~2),(~3)])

A1的成员序列执行行转列计算,先将A1按照成员的第1个成员分组,然后将成员序列中的第23个成员对应分布到每个组序列中,返回结果如下:

3

=A2.groupc@r(~1;[~2,~3,~4,~5,~6,~7];2)

使用@r选项,对A2执行列转行计算,A2成员序列中的第2到第7个成员按照次序每两个作为一组,与A2成员序列中的第1个成员组成一个新的成员序列,返回结果如下:

4

=A2.groupc@r(~1;~.to(2,);2)

使用@r选项,对A2执行列转行计算,A2成员序列中的第2到最后一个成员按照次序每两个作为一组,与A2成员序列中的第1个成员组成一个新的序列,返回结果同A1

  g中包含多个成员时:

 

A

 

1

=connect("demo").query("select top 9 * from scores").array@b()

返回由序列组成的序列:

2

=A1.groupc([~1,~2];[~3,~4])

A1的成员序列执行行转列计算,先将A1按照成员的第12个成员分组,然后将成员序列中的第34个成员对应分布到每个组序列中,返回结果如下:

3

=A2.groupc@r([~1,~2];~.to(3,);2)

使用@r选项,对A2执行列转行计算,A2成员序列中的第3到最后一个成员按照次序每两个作为一组,与A2成员序列中的第12个成员组成一个新的序列,返回结果同A1

 

相关概念:

A.pivot()

P.groupc()