탭으로 구분 된 텍스트 파일을 Breeze DenseMatrix로 읽으 려합니다. ScalaDoc에서 이것이 가능해야하고 I/O 클래스 전체가 있지만, 예제를 찾을 수 없으며 ScalaDoc을 소화하기가 어렵습니다.Scala Breeze의 파일에서 행렬 읽기
누군가가 간단한 읽기/쓰기 예제를 제공 할 수 있습니까?
탭으로 구분 된 텍스트 파일을 Breeze DenseMatrix로 읽으 려합니다. ScalaDoc에서 이것이 가능해야하고 I/O 클래스 전체가 있지만, 예제를 찾을 수 없으며 ScalaDoc을 소화하기가 어렵습니다.Scala Breeze의 파일에서 행렬 읽기
누군가가 간단한 읽기/쓰기 예제를 제공 할 수 있습니까?
scala.io.Source
을 사용하여 파일의 탭 구분 된 데이터를 읽을 수 있습니다.
일부 샘플 데이터 : 그래서 그것을 사용하는거야 DenseMatrix
생성자의
0 1 2 3 4 5
6 7 8 9 10 11
하나는이 양식 new DenseMatrix(rows: Int, data: Array[V], offset: Int = 0)
있습니다.
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.size
res 0:Int = 2
는 그런 다음 Array[Int]
로 데이터를 얻을 :
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.toArray.flatMap(_.split("\t")).map(_.toInt)
res1: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
그런 res0
및 res1
이 새로운 DenseMatrix
을 만드는 데 사용할 수 있습니다
행의 수를 가져옵니다.
는 densematrix에 csv 파일을 읽을 수있는 방법은
import breeze.linalg._
import java.io._
val matrix=csvread(new file("your file localtion"),'$seperator')
API : http://www.scalanlp.org/api/breeze/index.html#breeze.linalg.package
scala는 대소 문자를 구별하는 언어이고 "file"은 "File"이어야합니다. "val matrix = csvread (새 파일 ("file localtion "), '$ seperator')" –
감사의 RES1에서 그것을 읽을 때하는 행 메이저의 순서에 있었고, 생성자가 열 주요 기대하고 있지만. 그래서 내가 사용한 생성자는'DenseMatrix (res1.size/res0) .t'입니다. –