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....