corr(x,y) nan

2 vues (au cours des 30 derniers jours)
Vishal Thakkar
Vishal Thakkar le 15 Août 2019
Modifié(e) : Image Analyst le 16 Août 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?

Réponse acceptée

Michael
Michael le 15 Août 2019
Modifié(e) : Michael le 15 Août 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 commentaires
madhan ravi
madhan ravi le 15 Août 2019
You forgot to provide the function in the last line.
Michael
Michael le 15 Août 2019
Ups, I'm sorry. I edited my posting.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by