Copying colums from table to a new table
50 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am struggling with a quite simple issue:
I have multiple different sized tables, and i would like to copy last columns of every (time)table to a new table that i have not defined. That doesn't work because the length are different in every column. The excessive values in some columns could be set as "Nan"s or just removed. IS there a easy way to do this? The only method that comes to my mind is to create an excel .csv file with zeros, but my tables are very large.
0 Kommentare
Akzeptierte Antwort
Adam Danz
am 30 Jun. 2020
Follow the demo; see inline comments for details.
% Create 3 timetables of different heights
dt = datetime(2000,1,1,0,0,0) + minutes(0:30:5000)';
TT1 = timetable(dt(1:100),rand(100,1));
TT2 = timetable(dt(1:85),rand(85,1));
TT3 = timetable(dt, rand(size(dt)));
% List all timetables in a cell array named "allTT"
allTT = {TT1, TT2, TT3};
% Get heights of all timetables
heights = cellfun(@height, allTT);
% Loop through each timetable and move the last column into
% the table T; use NaNs as fillers.
T = array2table(nan(max(heights), numel(allTT))); % You may want to name your variables here.
for i = 1:numel(allTT)
T{1:heights(i),i} = allTT{i}{:,end};
end
Weitere Antworten (1)
SC
am 30 Jun. 2020
Hey, This link might help you:
go to 'Table with Multiple Data Types' in the above link
Siehe auch
Kategorien
Mehr zu Tables finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!