入力
$ 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