corr(x,y) nan

4 Ansichten (letzte 30 Tage)
Vishal Thakkar
Vishal Thakkar am 15 Aug. 2019
Bearbeitet: Image Analyst am 16 Aug. 2019
Hello, I am trying to run a correlation using corr(x,y), but my dataset has NaNs in it, for different participants (beginner coder here).
For example, my dataset and code may look like this:
a = [78 88 87 54 68 91 72 nan 88 nan];
b = [nan 35 42 44 67 55 nan 34 25 33];
x = ~isnan(a);
y = ~isnan(b);
[r,p] = corr(x,y)
The result is a table full of NaN in the ouptut.
I am trying to get the r value and the p value. Would there be another way to achieve this?

Akzeptierte Antwort

Michael
Michael am 15 Aug. 2019
Bearbeitet: Michael am 15 Aug. 2019
I think you are looking for corrcoef instead of corr. To exclude the nan values, use
a = [78 88 87 54 68 91 72 nan 88 nan];
b = [nan 35 42 44 67 55 nan 34 25 33];
r = corrcoef(a,b, 'rows','complete')
  2 Kommentare
madhan ravi
madhan ravi am 15 Aug. 2019
You forgot to provide the function in the last line.
Michael
Michael am 15 Aug. 2019
Ups, I'm sorry. I edited my posting.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by