Add new variable to table based on condition

조회 수: 1 (최근 30일)
Blue
Blue 2019년 6월 26일
댓글: Adam Danz 2019년 6월 27일
Hi,
I apologize for the newbie question but how does one add a variable to a table in Matlab based on conditions applied to other variables ?
For example, in the code below if t.y < 4 & t.y > 2 then 'A' should be stored in a new collumn t.z. Which doesnt work. Any ideas ?
y = [1 2 3 4];
x = [5 6 7 8];
t = table(x', y', 'VariableNames', {'x', 'y'})
if t.y < 4 & t.y > 2
t.z = 'A'
end
  댓글 수: 5
Bob Thompson
Bob Thompson 2019년 6월 27일
Would using a logic index range for an undefined variable work though? I would think that if t.z didn't exist already then you would still run into the same issue Blue has. I get that the range covers a set of elements the same size as the other variables, but what values are entered for mask == 0? Do they just get created as empty? Is that allowed in a table?
Adam Danz
Adam Danz 2019년 6월 27일
Yes, mask=0 elements are merely empty strings ('')
y = [1 2 3 4];
x = [5 6 7 8];
t = table(x', y', 'VariableNames', {'x', 'y'})
mask = t.y > 2 & t.y < 4;
t.z(mask) = 'A';
t =
4×3 table
x y z
_ _ _
5 1
6 2
7 3 A
8 4

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

답변 (0개)

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by