How can I delete/extract rows from a table with cell columns consisting of str and numeric values
1 vue (au cours des 30 derniers jours)
I have a table comprising of number and cell columns:
From this table I would like to extract all rows which have "pits" in a cell in column 3 / Type.
My approaches so far:
1. Extract it via "strfind"
Ppits=P(cellfun(@isempty, strfind(P.Type, 'pits')), :);
Error using strfind
Cell must be a cell array of character vectors.
2. Delete rows with "0" or . All attempts like logical indexing didn't work due to the fact that it's a table or the column has numerical and str values.
>> toDelete = P < 6;
P(toDelete,:) = ;
Undefined operator '<' for input arguments of type 'table'.
dbmn le 14 Juil 2017
The easiest way to extract the "pits" is to do the following
% Convert your column type to a format called categorical
% This format is supported by the table format
P.Type = categorical(P.Type)
% Then you can compare it like you would with numbers
P(P.Type == 'pits', :)
if you want to do the same with f.ex PH value just use
P(P.pH < 7, :)
and combine the two as you like