Filtering Columns of Array by Number of Row Contents

1 回表示 (過去 30 日間)
Justin Delano
Justin Delano 2020 年 3 月 27 日
コメント済み: Ameer Hamza 2020 年 4 月 2 日
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!

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 3 月 27 日
編集済み: Ameer Hamza 2020 年 3 月 27 日
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 件のコメント
Justin Delano
Justin Delano 2020 年 4 月 2 日
That looks good! Thank you so much!
Ameer Hamza
Ameer Hamza 2020 年 4 月 2 日
Glad to be of help.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNaNs についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by