/ / Jak uzyskać korelację Pearsona z macierzą w Matlabie - matlab, matrix, correlation, pearson

Jak uzyskać korelację Pearsona z macierzą w Matlabie - matlab, matrix, correlation, pearson

Mam kilka wektorów, na przykład, nazwijmy je a, b i c. Wszystkie mają ten sam rozmiar. Chcę uzyskać korelację między a i c, b oraz c.

Próbowałem tego:

[rho1, pval1] = corr (a, c, "rows", "complete")
[rho2, pval2] = corr (b, c, "rows", "complete")


rho1 = 0.1054
pval1 = 0,2918
rho2 = 0,1174
pval2 = 0,2473


I pomyślałem, że wyniki są w porządku, ale później próbowałem tego:
[rho, pval] = corr ([a b], c, "rows", "complete")

I dały mi inne wyniki:


rho =
0.1168
0.1150

pval =
0.2649
0.2726


Pomoc Matlaba mówi, że funkcja ta zwraca macierz p1-by-p2 zawierającą współczynnik korelacji parami pomiędzy każdą parą kolumn w macierzach X i Y n-by-p1 i n-by-p2.

Co ja robię źle? Dzięki.

Uwaga: Wektory mają 289x1, więc nie mogę ich tutaj zapisać.

Odpowiedzi:

1 dla odpowiedzi № 1

ROZWIĄZANY.Problem polega na tym, że te wektory mają NaN "s, więc opcja" uzupełnij "zajmuje tylko wiersze, w których nie ma NaN. Jeśli wektor (na przykład b) ma NaN wpłynie na wyniki obu korelacji (a i b). Opcja, której potrzebuję, to "parami". Dzięki