Append column given a 'year' condition

조회 수: 2 (최근 30일)
Maria
Maria 2014년 9월 2일
댓글: Maria 2014년 9월 2일
I have a cell type variable A with 30000 rows and 29 columns, for example:
b1 *b2* b3 b4 b5 b6 b7 ...
A={7 1999 28,14 1388 33 78 39021
8 2002 44,44 150 4 56 60012
12 2002 54,46 100 21 49 40701
13 1998 46,41 189 22 44 30901...}.
Column b2 gives different years. I am trying to a ppend a new column that, for example, gives 1 if the year in b2 is after 2000 and 0 if the year in b2 is before 2000 . For instance in this example I would get:
b1 *b2* b3 b4 b5 b6 b7 ... b30
A={7 1999 28,14 1388 33 78 39021 0
8 2002 44,44 150 4 56 60012 1
12 2002 54,46 100 21 49 40701 1
13 1998 46,41 189 22 44 30901... 0}.
Can someone help me please? Thank you.
  댓글 수: 2
José-Luis
José-Luis 2014년 9월 2일
Is A a cell array?
Maria
Maria 2014년 9월 2일
yes.

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

채택된 답변

Guillaume
Guillaume 2014년 9월 2일
편집: Guillaume 2014년 9월 2일
A(:, end+1) = num2cell([A{:, 2}] >= 2000);
  댓글 수: 2
Guillaume
Guillaume 2014년 9월 2일
However, if you only have numbers in your cell array, why aren't you using a matrix? It makes manipulation much easier
A = cell2mat(A);
A(:, end+1) = A(:, 2) >= 2000;
Maria
Maria 2014년 9월 2일
you are right. Thanks

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

추가 답변 (1개)

José-Luis
José-Luis 2014년 9월 2일
A = num2cell(1995 + randi(10,[20 1]));
A(:,end+1) = num2cell( cell2mat(A) >= 2000)

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by