JAVA には 2 つの 4*4 マトリックスがあり、1 つのマトリックスには観測されたカウントが保持され、もう 1 つのマトリックスには期待されるカウントが保持されます。
これら 2 つの行列間のカイ 2 乗統計量から p 値を自動的に計算する方法が必要です。しかし、私が知る限り、JAVA にはそのような機能はありません。
カイ 2 乗とその p 値を計算するには、2 つの行列を .csv ファイル形式として R に読み込み、次のように chisq.test 関数を使用します。
obs<-read.csv("obs.csv")
exp<-read.csv("exp.csv")
chisq.test(obs,exp)
.csv ファイルの形式は次のようになります。
A, C, G, T
A, 197.136, 124.32, 63.492, 59.052
C, 124.32, 78.4, 40.04, 37.24
G, 63.492, 40.04, 20.449, 19.019
T, 59.052, 37.24, 19.019, 17.689
これらのコマンドを指定すると、R は次の形式の出力を返します。
X-squared = 20.6236, df = 9, p-value = 0.01443
これには、探していたp値が含まれています。
次のプロセスを自動化する効率的な方法を知っている人はいますか?
1) 行列を JAVA から .csv ファイルに出力する 2) .csv ファイルを R にアップロードする 3) .csv ファイルの chisq.test を R に呼び出す 4) 出力された p 値を Java に戻す?
助けてくれてありがとう....