MATLAB Answers

0

Select a subset from a larger dataset

Asked by Evgeniia Diachek on 8 Nov 2018
Latest activity Answered by Kevin Chng on 17 Dec 2018
Hi,
I am trying to select a subset from a dataset using the following command:
if true
t = readtable('my_table.csv');
data = table2dataset(t);
M_L = data(data.System=='M' & data.Hemisphere=='L',:);
M_R = data(data.System=='M' & data.Hemisphere=='R',:);
end
But I am getting an error: Undefined operator '==' for input arguments of type 'cell'.
Any ideas how to fix that? I will need to select mulpitle subsets with different variables, so I would prefer not to use strcmp or strmatch.

  0 Comments

Sign in to comment.

1 Answer

Answer by Kevin Chng on 17 Dec 2018
 Accepted Answer

Undefined operator '==' for input arguments of type 'cell'.
The operator is not for cell. Therefore, you have to convert the cell type to matrix first. However, i'm not sure whether data.System or data.Hemisphere is cell type, or both are cell type.
try
if true
t = readtable('my_table.csv');
data = table2dataset(t);
M_L = data(cell2mat(data.System)=='M' & cell2mat(data.Hemisphere)=='L',:);
M_R = data(cell2mat(data.System)=='M' & cell2mat(data.Hemisphere)=='R',:);
end

  0 Comments

Sign in to comment.