Filtering Columns of Array by Number of Row Contents

1 Ansicht (letzte 30 Tage)
Justin Delano
Justin Delano am 27 Mär. 2020
Kommentiert: Ameer Hamza am 2 Apr. 2020
I have arrays that look like this:
A =
1 NaN NaN
2 3 4
2 5 NaN
I want to remove columns that contain rows with less than n non-NaN entries. In this case, with n=2, the first column of A would be removed, since the first row contains only 1 non-NaN value. Is there a compact way to do this? I hope this explanation makes sense!

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 27 Mär. 2020
Bearbeitet: Ameer Hamza am 27 Mär. 2020
A = [1 NaN NaN
2 3 4
2 5 NaN];
n = 2;
A(sum(~isnan(A), 2) < n, :) = [];
Result
A =
2 3 4
2 5 NaN
  16 Kommentare
Justin Delano
Justin Delano am 2 Apr. 2020
That looks good! Thank you so much!
Ameer Hamza
Ameer Hamza am 2 Apr. 2020
Glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by