Wywołaj R z JAVA, aby uzyskać statystyki Chi-kwadrat i wartość p

Mam dwie macierze 4 * 4 w JAVA, gdzie jedna macierz zawiera obserwowane zliczenia i inne oczekiwane liczby.

Potrzebuję zautomatyzowanego sposobu obliczenia wartości p ze statystyki chi-kwadrat między tymi dwiema macierzami; JAVA nie ma jednak takiej funkcji, o ile mi wiadomo.

Mogę obliczyć chi-kwadrat i jego wartość p odczytując dwie macierze w R jako formaty plików .csv, a następnie używając funkcji chisq.test w następujący sposób:

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

gdzie format plików .csv wygląda następująco:

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

Biorąc pod uwagę te polecenia, R da wynik formatu:

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

który zawiera wartość p, której szukałem.

Czy ktoś zna skuteczny sposób automatyzacji procesu:

1) Wyprowadzanie moich matryc z JAVA do plików .csv 2) Przesyłanie plików .csv do R 3) Wywoływanie chisq.test na plikach .csv do R 4) Zwracanie wyjściowej wartości p z powrotem do JAVA?

Dzięki za pomoc…

questionAnswers(6)

yourAnswerToTheQuestion