Remove rows from table identified in a second string array

조회 수: 2 (최근 30일)
Christopher McCausland
Christopher McCausland 2021년 4월 13일
댓글: Star Strider 2021년 4월 13일
Hi,
I have a table of results, called Results which is 505x11. The first column is Results.Filename and gives an asociated string file name for each set of results. I have a second cell array called Post_Inflate_names which is 191X1 and contains string names in the same format as Results.Filename.
I want to remove rows in Results if the filename is present in Post_Inflate_names. I have tired using the find command however there are limitations using the == operator with a table.
% One of the many failed attempts...
Remove = find(Results.Filename == Post_Inflate_names)
Results(Remove,:) = [];
I will include a few sample rows of both data in a spreadsheet.
Thanks,
Christopher

채택된 답변

Star Strider
Star Strider 2021년 4월 13일
The ismember function would likely work, however the two tables you want to compare have nothing in common in the variables you want to test.
I created a third table (‘T3’) to test it:
T1 = readtable('sample.xlsx', 'Sheet',1, 'VariableNamingRule','preserve');
T2 = readtable('sample.xlsx', 'Sheet',2, 'ReadVariableNames',0);
T3(:,1) = table([T2{:,1}; T1{:,1}]);
Lv = ismember(T3{:,1}, T1{:,1});
T3_new = T3{~Lv,:}; % Remove Duplicates
That gives the correct results, at least as I interpret what you want to do. Note that this operates on the contents of the tables (using the curly bracket {} notation).
  댓글 수: 2
Christopher McCausland
Christopher McCausland 2021년 4월 13일
Thank you for your response, it works well!
Annoyingly I had just found ismember, I hadn't considered it for table operations, its rather handy to say the least!
While I have you here could I also ask you a cardiology question?
The American Heart Association defines STEMI criteria for computer interprated ECG readings with ST elevation, ST depression and t-wave changes being considered. One of the criteria given is a prominet R-wave or R/S >1. While R/S > 1 is easy to define I cannot find a definition for a prominet R-wave other than clinicains 'eye-balling it'. I can think of a couple of way to define it , hard threshold, R/T > x etc. however I was wondering if you knew of any texts that state an official definition?
Thanks again for all your help!
Christopher
Star Strider
Star Strider 2021년 4월 13일
As always, my pleasure!
Your question sent me quickly to Braunwald’s Heart Disease (10th Ed, 2015) that had essentially the same information you cited, and that I remember, although no specific definition. Of course the magnitude of the R-deflection depends on the lead. The prominence of the R-deflection is also a function of pre-exising or underlying cardiac disease, such as myocardial hypertrophy (from hypertension or aortic stenosis to consider only two possible etiologic factors) or hypertyrophic cardiomyopathy, among others. For that reason, I’m not sure that a specific definition exists. I’ll look in a few other sources, and if I find anything of interest, I’ll post back here, since that’s an interesting problem.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Mathieu NOE
Mathieu NOE 2021년 4월 13일
hello Christopher
thi would be my suggestion
notice I changed the last 3 names in Post_Inflate_names to get a matching case with {'001a'};{'001b'};{'001c'}
Results = readtable('sample.xlsx','VariableNamingRule','preserve');
% Post_Inflate_names = [{'003d'};{'004d'};{'006d'};{'007d'};{'008f'};{'009d'};{'010d'};{'011e'};{'014e'};{'015d'}];
Post_Inflate_names = [{'003d'};{'004d'};{'006d'};{'007d'};{'008f'};{'009d'};{'010d'};{'001a'};{'001b'};{'001c'}];
str1 = Results.Filename;
str1 = strrep(str1,'''',''); % simple quotes gone
str1 = strrep(str1,'"',''); %double quotes gone
str2 = Post_Inflate_names;
str2 = strrep(str2,'''',''); % simple quotes gone
str2 = strrep(str2,'"',''); %double quotes gone
[Names, Remove, DataIdx] = intersect(str1, str2, 'stable');
Results(Remove,:) = [];

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

태그

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by