Llama a R desde JAVA para obtener la estadística de ji cuadrado y el valor p

Tengo dos matrices 4 * 4 en JAVA, donde una matriz contiene recuentos observados y la otra cuenta esperada.

Necesito una forma automatizada para calcular el valor p a partir de la estadística de ji cuadrado entre estas dos matrices; Sin embargo, JAVA no tiene tal función, que yo sepa.

Puedo calcular el chi-cuadrado y su valor p leyendo las dos matrices en R como formatos de archivo .csv, y luego usando la función chisq.test de la siguiente manera:

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

donde el formato de los archivos .csv sería el siguiente:

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 estos comandos, R dará una salida del formato:

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

que incluye el valor p que estaba buscando.

¿Alguien sabe de una manera eficiente de automatizar el proceso de:

1) Enviando mis matrices de JAVA a los archivos .csv 2) Subiendo los archivos .csv a R 3) ¿Llamando a chisq.test en los archivos .csv a R 4) Devolviendo el valor p generado a JAVA?

Gracias por cualquier ayuda....

Respuestas a la pregunta(6)

Su respuesta a la pregunta