How do I delete a row in a table containing certain text?
Show older comments
Hi, I am very new to MATLAB and I have been reading all the help and I do not understand where my code is wrong. I need to simply delete a row of my table 'indices' which contains the text 'Totals:'.
Below is an excerpt of my table 'indices' (originally 18x9) and I want to delete the row with the Total:, i.e the last row (or row 18).
CalendarYear Premium
'2017' 35216284
'2018' 36432973
'2019' 37895599
'Total:' 428730614
I tired several things in order to find the row number or the location where the word Total is without success:
1.
>> isequal(indices.CalendarYear,'Total:')
ans =
logical
0
2.
>> strcmp(indices(:,1),'Total:')
ans =
logical
0
3. This gives me a logical output but then I do not know how to continue using it
>> strfind(indices.CalendarYear,'Total:')
ans =
18×1 cell array
{0×0 double}
.........
{[ 1]} %finally a positive answer
none of these attempts gives me the row number 18 which I wold like to delete form my table.
What am I missing?
Thank you in advance,
ni7
Accepted Answer
More Answers (2)
Luna
on 22 Jan 2019
Hi Nina,
You can use this code below:
myTable = table({'2017','2018','2019','Total:'}',[35216284,36432973,37895599,428730614]','VariableNames',{'CalendarYear','Premium'});
reducedTable = myTable(~contains(myTable.CalendarYear,'Total:'),:);
5 Comments
Luna
on 22 Jan 2019
Yes, both indexing or the real row number can be used to delete the row.
In this case:
rowNumber = find(contains(myTable.CalendarYear,'Total:'));
myTable(rowNumber,:) = []; % this deletes that row from myTable itself without creating a new table
Nina Nikolova
on 22 Jan 2019
Edited: Nina Nikolova
on 22 Jan 2019
Luna
on 22 Jan 2019
Your welcome :)
madhan ravi
on 22 Jan 2019
Another possibility using regexp but not as effective as the above two answers:
k=cellfun(@(x)regexp(x,'Total:'),T.CalendarYear,'un',0) % T is your table
T(~cellfun(@any,k),:)
Categories
Find more on Data Type Conversion 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!