How do I convert a list into a matrix in KDB?

cjm2671

I have a list of the form:

1 2 3 4

I'd like to convert it into a square matrix:

1 2
3 4

Which I think would be:

(1 2;3 4)

What's the canonical way to do this for, for n sized matrices in KDB?

Stephen Stewart

You can do:

n cut list

e.g.

q)3 cut til prd 3 3
0 1 2
3 4 5
6 7 8

Edit: To insert any list into the closest n*n matrix and fill proceeding positions with NA's you can do:

q)f:{a:(ceiling sqrt b:count x); a cut x,((a*a) - b)#0N}
q)/e.g.
q)f til 10
0 1 2 3
4 5 6 7
8 9

q)

Collected from the Internet

Please contact javaer1[email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related