I want to add this cell variable 'condition_col' to existing matrix 'data' if certain conditions are met, following code doesn't work, any help?

1 view (last 30 days)
condition_col = 'codition1'
condition_col = cellstr(condition_col);
data = num2cell(data);
for i = 1:length(data)
if strcmpi(data(i,5),1) && data(i,6)> 5 && strcmpi(data(i,5), 2) && data(i,6) < 5
data{i} = [data, condition_col];
end
end
  3 Comments
Bubblesjinx
Bubblesjinx on 5 Aug 2019
I just want to add a new variable to one column in it's each row when a certain conditon is met. For example:
if col5(1,1)==1 && col6 <5
%then add variable1 in the corresponding row to col10
elseif col5(1,1)==2 && col6 >5
%then add variable2 in the corresponding row to col10
end

Sign in to comment.

Accepted Answer

newbie9
newbie9 on 4 Aug 2019
See if this helps to get you on the right track:
% set up dummy data to work with
data = rand(20,1);
data = array2table(data);
data.Properties.VariableNames = {'MyColumnName'};
for ii = 1 : height(data)
% example condition, use your condition instead
if data.MyColumnName(ii) < 0.5
data.codition1{ii} = 'Condition Met';
else
data.codition1{ii} = '';
end
end
  4 Comments
Guillaume
Guillaume on 5 Aug 2019
I'm fine with you getting the credit. You understood what the OP was asking for and got him in the right direction.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!