# How can I combine values from different columns of a matrix into one single column?

조회 수: 2 (최근 30일)
Kemal 2013년 3월 8일
Hello,
I have a matrix with three columns and many rows. The first column is the count. There are values in some sections of the second and third columns that I am not interested in. However, they do not overlap. There is no single row for which I want to extract values of both columns. I want to combine the values I am interested in in one single column, either a new column or in one of those two columns.Initially, I assigned NaN to those cells that I am not interested and then I was trying to use a loop but I am new to Matlab so it does not work. Any help will be very much appreciated. Trying to this manually in Excel takes a long time! Thanks!

댓글을 달려면 로그인하십시오.

### 채택된 답변

Leah 2013년 3월 8일
it would be helpful to see you code so far, but i think this is what you need. A is your original matrix (nx3)
Anew=A(:,2);
index1=isnan(Anew);
Anew(index1,1)= A(index1,3)
you could do this quickly in Excel by using an "if" statement
=IF(ISNA(B1),C1,B1)
##### 댓글 수: 1이전 댓글 -1개 표시이전 댓글 -1개 숨기기
Kemal 2013년 3월 8일
Thank you for showing me the Excel function, too!

댓글을 달려면 로그인하십시오.

### 추가 답변 (2개)

Matt J 2013년 3월 8일
Index the rows of column 3 that you want and then do a vectorized assignment. If A is your matrix and keeprows are the rows of column 3 that you want to keep,
newcol=A(:,2);
newcol(keeprows)=A(keeprows,3);
##### 댓글 수: 3이전 댓글 1개 표시이전 댓글 1개 숨기기
Matt J 2013년 3월 8일
newcol=A(:,2);
keeprows=~isnan(A(:,3));
newcol(keeprows)=A(keeprows,3);
Kemal 2013년 3월 8일
Thank you. It did it!

댓글을 달려면 로그인하십시오.

Azzi Abdelmalek 2013년 3월 8일
편집: Azzi Abdelmalek 2013년 3월 8일
EDIT
A=[1 4 6;2 nan 14;3 25 nan;4 78 77]
B=A
idx2=find(isnan(A(:,2)))
idx3=find(isnan(A(:,3)))
B(idx2,2)=A(idx2,3)
B(idx3,3)=A(idx3,2)
##### 댓글 수: 2없음 표시없음 숨기기
Azzi Abdelmalek 2013년 3월 8일
편집: Azzi Abdelmalek 2013년 3월 8일
But the problem is, when values in col2 and col3 are not nan, which one will you choose?
Kemal 2013년 3월 8일
You are right although it wasn't in my case. That would be the next question. Thank you!

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Spreadsheets에 대해 자세히 알아보기

### Community Treasure Hunt

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

Start Hunting!

Translated by