corr(x,y) nan

5 visualizzazioni (ultimi 30 giorni)
Vishal Thakkar
Vishal Thakkar il 15 Ago 2019
Modificato: Image Analyst il 16 Ago 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?

Risposta accettata

Michael
Michael il 15 Ago 2019
Modificato: Michael il 15 Ago 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 Commenti
madhan ravi
madhan ravi il 15 Ago 2019
You forgot to provide the function in the last line.
Michael
Michael il 15 Ago 2019
Ups, I'm sorry. I edited my posting.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Distribution Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by