将Incanter矩阵转换为嵌套向量

时间:2014-03-24 15:14:32

标签: clojure incanter

考虑一个输出Incanter矩阵的函数。

这是一个包含函数输出的示例矩阵:

A 6x4 matrix 
-4.77e-01 8.45e-01  1.39e-01 -9.83e-18
 8.55e-01 2.49e-01  1.33e-01  2.57e-17
-2.94e-03 6.60e-03 -9.63e-01  1.16e-16
...
 6.64e-09  2.55e-08  1.16e-07 -1.11e-16
-1.44e-01 -3.33e-01  1.32e-01 -7.07e-01
-1.44e-01 -3.33e-01  1.32e-01  7.07e-01

我想继续分析表示点的矩阵行。我想要提供Incanter矩阵以将嵌套向量作为输入的函数。

因此该函数需要

形式的上述数据
[[-4.77e-01 8.45e-01  1.39e-01 -9.83e-18]  [8.55e-01 2.49e-01  1.33e-01  2.57e-17]
 [-2.94e-03 6.60e-03 -9.63e-01  1.16e-16]  [6.64e-09  2.55e-08  1.16e-07 -1.11e-16]
 [-1.44e-01 -3.33e-01  1.32e-01 -7.07e-01] [-1.44e-01 -3.33e-01  1.32e-01  7.07e-01]]

这是从Incanter矩阵表示到嵌套向量结构的转换,我不确定如何执行。有没有一种简单的方法来转换数据的表示?

1 个答案:

答案 0 :(得分:2)

您可以使用build-in to-vect function

执行此操作
(to-vect m)

build-in to-list function

(to-list m)

当给定矩阵时,两个函数都将产生向量矢量:

=> (def m (matrix [[1 2] [3 4]]))
 A 2x2 matrix
 -------------
 1.00e+00  2.00e+00 
 3.00e+00  4.00e+00 

=> (to-vect m)
[[1.0 2.0] [3.0 4.0]]
=> (to-list m)
[[1.0 2.0] [3.0 4.0]]