Using the example testing data on https://www.mathworks.com/help/matlab/matlab_prog/calculations-on-tables.html, I would like to write something like
T(T.Gender=='female',:).Test2 = 100
I can do something similar with array data, but get an error with table data. Is there a simple way to make this work without having to create a dummy array of the appropriate length for my constant value?
T = readtable(fullfile(matlabroot,'examples','matlab','testScores.csv'),... 'ReadRowNames',true) T.Gender = categorical(T.Gender) % select a subset of the rows
rows = T.Gender=='female' % this works, and is my usual way of working with array data
A = table2array(T(:,2:4)) A(rows,2) = 100 % This works, but is ugly
T(rows,:).Test2 = 100 * ones(size(T(rows,:).Test2)) % This does not work
T(rows,:).Test2 = 100
Error: 'To assign to or create a variable in a table, the number of rows must match the height of the table. '
Best Answer