Find correlation coefficient between a row in a data and every row in another data

6 ビュー (過去 30 日間)
Learning
Learning 2022 年 8 月 23 日
回答済み: Chunru 2022 年 8 月 23 日
Hi,
I have two data sets, data A an B. Data A has just a single row with 5 columns. Data B has 10 rows each with 5 columns as well. I want to find the correlation coefficients between row 1 in A and row 1 in B, then between row 1 in A and row 2 in B...till the corrcoeff between row 1 in data A and every row in data B has been computed.
After that, I want to extract those rows in B which had the highest correlation coefficient (>=0.8) with row 1 in A into another matrix called C.
Any idea would be appreciated!
Thank you.

回答 (1 件)

Chunru
Chunru 2022 年 8 月 23 日
A = randn(1, 5);
B = randn(10, 5);
r = zeros(10,1);
for i=1:10
tmp = corrcoef(A, B(i, :));
r(i) = tmp(1,2);
end
idx = (abs(r) > 0.5); % change the threshold here
V =B(idx, :)
V = 3×5
-0.9015 -0.5471 0.5020 -0.1547 2.1284 1.0707 -1.6141 1.0989 1.5863 -0.8187 -1.1413 0.3543 -1.0398 0.1434 0.8906

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by