使用incanter从clojure中的数组中获取均值和协方差矩阵

时间:2015-07-24 13:32:31

标签: java clojure incanter

我正在尝试使用- tabBarController:shouldSelectViewController: 1000x2的数据结构中获取数组均值和协方差矩阵。

我的测试用例看起来像

incanter

我在LighTable中运行。

我得到的错误是:

(ns test.mean-cov
  (:require clojure.string
            [incanter.core :as in-core]
            [incanter.stats :as in-stats])
  (:use clojure.java.io))

(def test-mat [[1 2] [2 2]])

(in-stats/mean test-mat)

我不能说我理解这一点,不幸的是我的谷歌搜索没有帮助。有人可以提供一个简单的解释和解决方案吗?

当然,一种可怕的方式就是

java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to java.lang.Number
        Numbers.java:1104 clojure.lang.Numbers.double_array
           stats.clj:1492 incanter.stats/mean

完全披露:我是clojure的新手。

由于

1 个答案:

答案 0 :(得分:2)

对于矩阵协方差,您需要使用以下内容:

(in-stats/covariance (in-core/matrix test-mat))

和矩阵平均向量:

(mapv in-stats/mean (in-core/trans test-mat))