フィルターのクリア

Easy columns merge question

9 ビュー (過去 30 日間)
012786534
012786534 2016 年 6 月 6 日
編集済み: Image Analyst 2016 年 6 月 7 日
Hi all, I have an easy merge question.Let's say I have 2 columns that look like this: A = [1 NaN 3 NaN 5 6 ...] and B = [NaN 2 NaN 4 5 6 ...]. Now, I want to merge them so I get C = [1 2 3 4 5 6 ...]. Any ideas? Thanks all!

回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 6 月 6 日
編集済み: Azzi Abdelmalek 2016 年 6 月 6 日
A = [1 NaN 3 NaN 5 6]
B= [NaN 2 NaN 4 5 6]
C=unique([A B])
C(isnan(C))=[]
  3 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2016 年 6 月 6 日
Your original question is different. Please edit your question
Azzi Abdelmalek
Azzi Abdelmalek 2016 年 6 月 6 日
A = [1 NaN NaN 4 5 NaN],
B = [1 2 NaN NaN 5 NaN]
i1=isnan(A)
i2=~isnan(B)
C=A
C(i1&i2)=B(i1&i2)

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


Image Analyst
Image Analyst 2016 年 6 月 6 日
Try this:
C = A; % Initialize
% Replace any nan's with B
C(isnan(C)) = B(isnan(C))
  3 件のコメント
012786534
012786534 2016 年 6 月 6 日
Yes, the numbers may be the same. If so, C take the value of A
Image Analyst
Image Analyst 2016 年 6 月 7 日
編集済み: Image Analyst 2016 年 6 月 7 日
Then my code works.
It works even if you meant "Yes, the numbers may be different. If so, C take the value of A"
If you wanted B numbers in preference to A, then initialize to B instead of A.
A = [1 NaN NaN 4 5 NaN]
B = [1 2 NaN NaN 5 NaN]
C = A; % Initialize
% Replace any nan's with B
C(isnan(C)) = B(isnan(C))
C =
1 2 NaN 4 5 NaN

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

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by