Filter löschen
Filter löschen

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

102 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Mohammad Abouali
Mohammad Abouali am 22 Okt. 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 Kommentare
Ege
Ege am 23 Okt. 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 am 23 Okt. 2014
Bearbeitet: Mohammad Abouali am 23 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Guillaume
Guillaume am 22 Okt. 2014
Bearbeitet: Guillaume am 22 Okt. 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)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by