1

いくつかのベクトルがあります。たとえば、a、b、c と呼びましょう。それらはすべて同じサイズです。aとc、bとcの相関関係を取得したい。

私はそれを試しました:

[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


そして、結果はOKだと思っていましたが、後で試してみました:
[rho,pval]=corr([ab],c,'rows','complete')

そして、私に別の結果を与えました:


ロー=
0.1168
0.1150

pval=
0.2649
0.2726


Matlab のヘルプによると、これらの関数は、n x p1 および n x p2 行列 X と Y の列の各ペア間のペアごとの相関係数を含む p1 x p2 行列を返します。

私は何を間違っていますか?ありがとう。

注: ベクトルは 289x1 なので、ここには書きません。

4

1 に答える 1

1

解決済み.問題は、これらのベクトルに NaN があるため、オプション 'complete' は NaN がない行のみを取得することです.ベクトル (たとえば b) に NaN がある場合、両方の相関 (a と b) の結果に影響します。 . 必要なオプションは「ペアワイズ」です。ありがとう

于 2012-04-26T08:08:01.587 に答える