如何在犰狳中使用var / variance函数

时间:2016-12-30 11:46:14

标签: c++ armadillo

我应该如何在armadillo中使用var()函数?

我有一个矩阵,其中行是变量/要素和列观察/实例。

我获取每行的方差,以便我可以确定具有最大方差的变量/特征。

目前我在打电话:

auto variances = arma::var(data, 0, 1);

data是我的矩阵。

据我所知,我现在得到一个矩阵?文档表明这是正确的。我希望能够找回每个矩阵行的方差分数的单个向量。

我可以遍历我的行并单独获取每行的方差,如下所示:

for (auto i = 0; i < data.n_rows; ++i)
    auto rowVariance = arma::var(dataSet.data.row(i));

但我不想这样做。

我想找回包含矩阵中每行的方差值的单个向量,然后在此向量上使用arma :: sort_index()来获取与排序差异对应的有序索引集。

提前致谢。

1 个答案:

答案 0 :(得分:0)

原来错误是因为我使用的是arma::var variances = arma::var(data, 0, 1)而应该使用arma::Col<T> variances = arma::var(data, 0, 1),因为我的数据矩阵属于arma::Mat<T>类型,因为我允许浮点和双点只有精确度。

以上评论来自vagoberto让我走上正轨。