Copy table's certain data into another table with corresponding variable names

110 visualizzazioni (ultimi 30 giorni)
Let's say I have a table with 10 rows and 10 columns. I'd like to copy 5 cols and 10 rows of the table into another one with their variable names. Is there a way to do that?
Thank you.

Risposta accettata

Mohammad Abouali
Mohammad Abouali il 22 Ott 2014
Lets say you want move column Age from table1 to table2
table2.Age=table1.Age
Or if you want to move column 5 to 8 of table1 to table2 do this:
for c=5:8
table2.(T.Properties.VariableNames{c})=table1.(T.Properties.VariableNames{c});
end
  2 Commenti
Ege
Ege il 23 Ott 2014
When I try this on a sample table I get "Error using table/subsrefDot (line 48) Index exceeds matrix dimensions.
Error in table/subsref (line 62) [varargout{1:nargout}] = subsrefDot(t,s);" error
Mohammad Abouali
Mohammad Abouali il 23 Ott 2014
Modificato: Mohammad Abouali il 23 Ott 2014
Do your two tables have the same number of rows?
By the way, I have assumed that both table2 and table1 are already defined.

Accedi per commentare.

Più risposte (1)

Guillaume
Guillaume il 22 Ott 2014
Modificato: Guillaume il 22 Ott 2014
Just use normal indexing to get your new table:
demotable = cell2table(num2cell(randi(100, 10, 10)), ...
'VariableNames', ...
arrayfun(@(n) sprintf('Name_%d', n), 1:10, 'uni', 0))
newtable = demotable(:, 3:7)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by