I am trying to isolate the userdata associated with a time within a table and create an new table from the rows the of enteries associated with the selected time from the original table
2 views (last 30 days)
Show older comments
Nichelle'Le Carrington
on 20 Apr 2016
Answered: Nichelle'Le Carrington
on 23 Apr 2016
I am trying to store the if true % Create a sample table ID = [38;43;38;40;49]; Date = {'02/03/2005'; '02/04/2005'; '02/05/2005'; '02/06/2005'; '02/07/2005'}; Time = {'22:00:00-06:00' ; '23:00:00-06:00'; '21:00:00-06:00'; '23:00:00-06:00'; '20:00:00-06:00'}; UserData = [124; 109; 125; 117; 122]; T = table(ID,Date,Time,UserData); A = table; % Iterate through rows of table for i = 1:1:height(T) % Check if first two characters are 23 if strcmp(T.Time{i}(1:2), '23') % Return the rows with 23 to a new table ids1 = find(T.Time(:,1)==23) ; for iii = 1:numel(ids1) A = [A; Tk(ids1(iii),:)]; end disp(i); end end
end
The string comparison is unable to return the rows into the new table A.
0 Comments
Accepted Answer
Bharath Rangaswamy
on 22 Apr 2016
Hi Nichelle,
I understand that your what to copy the rows with time '23:00:00-06:00' to A.
you can do it in the following way:
ID = [38;43;38;40;49];
Date = {'02/03/2005'; '02/04/2005'; '02/05/2005'; '02/06/2005'; '02/07/2005'};
Time = {'22:00:00-06:00' ; '23:00:00-06:00'; '21:00:00-06:00'; '23:00:00-06:00'; '20:00:00-06:00'};
UserData = [124; 109; 125; 117; 122];
T = table(ID,Date,Time,UserData);
ids1 = find(strcmp(T.Time(:,1),'23:00:00-06:00'));%finding all the rows with '23:00:00-06:00'
A = T(ids1,:);%Coppy those row in to A
Hope this help.
-Bharath
0 Comments
More Answers (1)
See Also
Categories
Find more on Structures 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!