在Q中向矩阵添加一行?

时间:2016-03-02 22:22:38

标签: kdb q-lang k

我目前有一个3乘3的矩阵" m":

1 2 3
4 5 6
7 8 9

我想在矩阵中添加一行' m'得到一个结果矩阵:

1 2 3
4 5 6
7 8 9
10 11 12

2 个答案:

答案 0 :(得分:4)

q中的矩阵只是列表的列表,其中内部列表表示行。

m: ((1 2 3);(4 5 6);(7 8 9))

为了再添加一行,您只需要添加一个内部列表:

m: m,enlist 10 11 12

enlist在这里很重要,如果没有它,你最终会得到这个:

q)((1 2 3);(4 5 6);(7 8 9)),10 11 12
1 2 3
4 5 6
7 8 9
10
11
12

答案 1 :(得分:0)

我同意;使用0N!x查看结构非常有用。

为了达到你想要的目的,你可以做到;

q)show m:3 cut 1+til 9 /create matrix
1 2 3
4 5 6
7 8 9
q)show m,:10 11 12 /join new 'row'
1  2  3 
4  5  6 
7  8  9 
10 11 12
q)