【发布时间】:2016-05-26 15:56:28
【问题描述】:
我有一个向量集合
var coefficentsList = new MutableList[Vector]
我想将单个向量的每个元素与其他向量的每一列相加。例如,coefficientsList 将具有以下向量:
v1 = [0.2, 0.4, 0.1]
v2 = [0.4, 0.5, 0.1]
v3 = [0, 0, 0.3]
所以我想要像
这样的合成向量V = [0.6, 0.9, 0.5]
现在要做到这一点,我遇到了微风矢量here 和here,所以我编写了以下代码:
coefficentsList.toArray.map{
Vector(_).reduce(_ + _)
}
但它给了我一个类型不匹配的异常:找到 Array[Double],需要:String
有没有其他方法可以做到这一点,因为我对此感到困惑
【问题讨论】:
-
a
Vector需要一个类型参数,所以首先,修复你的类型错误。另外,为什么需要使用toArray?直接在您的MutableList上使用map否? -
@alifirat 这可以是
scala.collection.immutable.Vector、breeze.linalg.Vector或o.a.s.mllib.linalg.Vector- 从上下文中甚至都不清楚。 -
@zero323 确实是o.a.s.mllib.linalg.Vector
标签: scala vector apache-spark apache-spark-mllib