How to break a large table into a set of smaller tables?
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Zeynab Mousavikhamene
il 31 Gen 2020
Commentato: Walter Roberson
il 31 Gen 2020
This question is asked before and my problem is that the one of the columns are string not numbers and I recieve this error "Error using ==
Comparison between double and string is not supported." when using this code taken from the answers to the above question:
col24 = T{:,[27 28]};
u24 = unique(col24, 'rows');
numentry = size(u24,1);
TableCell = cell(numentry,1);
for K = 1 : numentry
insubset = T{:,27} == u24(K,1) && T{:,28} == u24(K,2);
TableCell{K} = BigTable(insubset,:);
end
Alos is it possible to use the name of columns instead of numnber so instead of 27 and 28 which are the column number in col24 = T{:,[27 28]}; use the name of those columns?
2 Commenti
Walter Roberson
il 31 Gen 2020
col24 = T{:, {'x', 'y'}};
would be an example of extracting by variable names x and y.
Would I be correct is saying that one of the variables is string datatype and the other variable is numeric ?
Mohammad Sami
il 31 Gen 2020
For string datatype, using functions such as contains, startsWith, endsWith for comparison.
Risposta accettata
Walter Roberson
il 31 Gen 2020
col24 = T(:,[27 28]); %notice () not {} . Output is table
u24 = unique(col24, 'rows'); %output is table
numentry = size(u24,1);
TableCell = cell(numentry,1);
for K = 1 : numentry
insubset = strcmp(T{:,27},u24{K,1}) & T{:,28} == u24{K,2}; %notice {} not ()
TableCell{K} = T(insubset,:);
end
Note: this code should work even if column 27 is cell array of character vector instead of string data type. If you are sure you will have string() datatype then
insubset = T{:,27} == u24{K,1} & T{:,28} == u24{K,2};
will also work.
4 Commenti
Walter Roberson
il 31 Gen 2020
TableCell is a cell array that contains tables. You can use TableCell{1}, TableCell{2} and so on to extract the individual tables. You would not assign them to individual variables because you do not know how many there are. http://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Tables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!