Позвоните R из JAVA, чтобы получить статистику хи-квадрат и р-значение
У меня есть две матрицы 4 * 4 в JAVA, где одна матрица содержит наблюдаемые значения, а другая - ожидаемые значения.
Мне нужен автоматизированный способ вычисления значения p по статистике хи-квадрат между этими двумя матрицами; однако, насколько я знаю, JAVA не имеет такой функции.
Я могу рассчитать хи-квадрат и его значение p, прочитав две матрицы в R в виде файлов формата .csv, а затем используя функцию 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
который включает в себя значение р, которое я искал.
Кто-нибудь знает эффективный способ автоматизации процесса:
1) Вывод моих матриц из JAVA в файлы .csv 2) Загрузка файлов .csv в R 3) Вызов chisq.test для файлов .csv в R 4) Возврат выведенного p-значения обратно в JAVA?
Спасибо за любую помощь ....