[ https://issues.apache.org/jira/browse/MAHOUT-1691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitriy Lyubimov resolved MAHOUT-1691. -------------------------------------- Resolution: Not A Problem > iterable of vectors to matrix > ------------------------------ > > Key: MAHOUT-1691 > URL: https://issues.apache.org/jira/browse/MAHOUT-1691 > Project: Mahout > Issue Type: Improvement > Components: Math > Affects Versions: 0.10.1 > Reporter: Alexey Grigorev > Assignee: Suneel Marthi > Priority: Minor > Labels: math, scala > Fix For: 0.12.0 > > > In Mahout scala bindings, instead of writing > {code} > val res = drmX.mapBlock(drmX.ncol) { > case (keys, block) => { > val copy = block.like > copy := block.map(row => (row - mean) / std) > (keys, copy) > } > } > {code} > I would like to be able to write > {code} > val res = drmX.mapBlock(drmX.ncol) { > case (keys, block) => { > keys -> block.map(row => (row - mean) / std) > } > } > {code} > Solution: add a method for implicit conversion from iterable to Matrix: > {code} > implicit def iterable2Matrix(that: Iterable[Vector]): Matrix = { > val first = that.head > val nrow = that.size > val ncol = first.size > val m = if (first.isDense) { > new DenseMatrix(nrow, ncol) > } else { > new SparseRowMatrix(nrow, ncol) > } > that.zipWithIndex.foreach { case (row, idx) => > m.assignRow(idx.toInt, row) > } > m > } > {code} > If it sounds nice, I can send a pull request with this implemented -- This message was sent by Atlassian JIRA (v6.3.4#6332)