scalaでタブ区切りファイルから読み取って順位相関を求める

入力

$ cat test1.txt
abc xxx 11
efg yyy 23
hij zzz 33
lmk qqq 41.3

$ cat test2.txt
abc xxx 11
efg yyy 39
hij zzz 22
lmk qqq 17

プログラム

import scala.io.Source
import org.apache.commons.math3.stat.correlation.SpearmansCorrelation;

object cor_test{

        def main(args: Array[String]){

                var source1 =Source.fromFile("test1.txt","utf-8")
                var source2 =Source.fromFile("test2.txt","utf-8")
                val lines1=source1.getLines
                val lines2=source2.getLines

                var a1: String ="";
                var k=0;
                var list1=List[Double]();
                var list2=List[Double]();
                lines1.foreach{a:String => list1=(a.split('\t')(2).toDouble)::list1;}
                lines2.foreach{a:String => list2=(a.split('\t')(2).toDouble)::list2;}
                var rev_list1=list1.reverse;
                var rev_list2=list2.reverse;
                println("x_data")
                rev_list1.foreach(println)
                println("y_data")
                rev_list2.foreach(println)
                source1.close();
                source2.close();

                println("Correlation")
                val cor = new SpearmansCorrelation();
                println( cor.correlation(rev_list1.toArray,rev_list2.toArray));
       
        }
}

コンパイル

$ scalac -cp "./commons-math3-3.1.1.jar" cor_test.scala


出力例

$ scala -cp ".;./commons-math3-3.1.1.jar" cor_test
x_data
11.0
23.0
33.0
41.3
y_data
11.0
39.0
22.0
17.0
Correlation
0.2000000000000001