Możesz użyć scala.io.Source
, aby odczytać dane rozdzielone tabulatorami z pliku.
Niektóre przykładowe dane:
0 1 2 3 4 5
6 7 8 9 10 11
Jednym z DenseMatrix
konstruktorów ma tę formę new DenseMatrix(rows: Int, data: Array[V], offset: Int = 0)
więc użyję tego.
Pobiera liczbę wierszy:
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.size
res 0:Int = 2
następnie uzyskać dane jako 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)
Następnie res0
i res1
może być użyty do utworzenia nowego DenseMatrix
.
Dzięki, chociaż po przeczytaniu go w RES1 był w rzędzie-major porządku i konstruktor oczekuje kolumna-dur. Tak więc użyłem konstruktora 'DenseMatrix (res1.size/res0) .t' –