Chame R de JAVA para obter a estatística qui-quadrada e o valor p

Eu tenho duas matrizes 4 * 4 em JAVA, onde uma matriz contém as contagens observadas e a outra contagens esperadas.

Eu preciso de uma maneira automatizada para calcular o valor p da estatística do qui-quadrado entre essas duas matrizes; no entanto, o JAVA não tem essa função, tanto quanto eu sei.

Posso calcular o qui-quadrado e seu valor p lendo as duas matrizes em formatos de arquivo R como .csv e, em seguida, usando a função chisq.test da seguinte forma:

obs<-read.csv("obs.csv")
exp<-read.csv("exp.csv")
chisq.test(obs,exp)

onde o formato dos arquivos .csv seria o seguinte:

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

Dados estes comandos, R dará uma saída do formato:

X-squared = 20.6236, df = 9, p-value = 0.01443

que inclui o valor p que eu estava procurando.

Alguém sabe de uma maneira eficiente de automatizar o processo de:

1) Saída de minhas matrizes de JAVA para arquivos .csv 2) Upload dos arquivos .csv para R 3) Chamando o chisq.test nos arquivos .csv para R 4) Retornando o valor p gerado de volta para JAVA?

Obrigado por qualquer ajuda....

questionAnswers(6)

yourAnswerToTheQuestion