How do I correlate two tables with a different number of rows?

4 vues (au cours des 30 derniers jours)
Hi,
I have two tables that I am trying to correlate, but they have a different amount of rows, so matlab is not allowing me to correlate them.
Is there a way to curcumvent different row length in this situation?
Regards,
M
  2 commentaires
Walter Roberson
Walter Roberson le 16 Juin 2020
perhaps do an innerjoin() first ?
Madeline Daveney
Madeline Daveney le 17 Juin 2020
Modifié(e) : Madeline Daveney le 17 Juin 2020
I think that I solved the problem by putting NaN to fill up cells in the table that didn't have enough rows. Then I specified 'rows' 'complete' so that matlab would only correlate the cells that actually had values.
Here's an example for anyone who needs help with a similar problem in the future:
[r, pV]=corr(FAs_all,ESS_all,'rows','complete')
Thanks for your suggestion anyway!

Connectez-vous pour commenter.

Réponse acceptée

Divya Gaddipati
Divya Gaddipati le 25 Juin 2020
You could also convert the table to a matrix and use interpolation on the smaller matrix to resize it to the larger matrix's size. Then use corrcoef or corr2 to calculate the correlation.
You could also refer to a similar questions already asked:
For more information on corr2 and corrcoef, refer to the following links:

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by