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

110 次查看(过去 30 天)
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.

采纳的回答

Mohammad Abouali
Mohammad Abouali 2014-10-22
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 个评论
Ege
Ege 2014-10-23
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 2014-10-23
编辑:Mohammad Abouali 2014-10-23
Do your two tables have the same number of rows?
By the way, I have assumed that both table2 and table1 are already defined.

请先登录,再进行评论。

更多回答(1 个)

Guillaume
Guillaume 2014-10-22
编辑:Guillaume 2014-10-22
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)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by