我在MATLAB中有一个表,变量标题等于:
titles = {'TZ_1', 'TZ_2', 'TZ_3', 'DATE'};
是否有办法移动或更改数据,使DATE位于TZ_1之前?
DATE
TZ_1
titles = {'DATE', 'TZ_1', 'TZ_2', 'TZ_3'};
2022版本中我可以看到movevars,但我目前运行的是2016版本。任何帮助将不胜感激-我是相对较新的matlab。
movevars
mitkmikd1#
你可以叫名字
% Set up example data t = table(1,2,3,4, 'VariableNames',{'TZ_1', 'TZ_2', 'TZ_3', 'DATE'}) % Specify the column ordering you want titles = {'DATE', 'TZ_1', 'TZ_2', 'TZ_3'}; % Rearrange the table t = t( :, titles );
当然,您可以在没有中间变量的情况下执行此操作
t = t( :, {'DATE', 'TZ_1', 'TZ_2', 'TZ_3'});
分机号:如果您只想将'DATE'放在最前面,而不管它当前在顺序中的位置,那么您可以执行以下操作
'DATE'
titles = [{'DATE'}, setdiff(t.Properties.VariableNames, {'DATE'}, 'stable')]; t = t( :, titles );
kmbjn2e32#
是的,您可以使用索引来实现这一点(如果您查看movevars的实现,这正是它所做的)。
>> t = table(1,2,3,4, 'VariableNames',{'TZ_1', 'TZ_2', 'TZ_3', 'DATE'}) t = 1×4 table TZ_1 TZ_2 TZ_3 DATE ____ ____ ____ ____ 1 2 3 4 >> t(:,[4, 1:3]) ans = 1×4 table DATE TZ_1 TZ_2 TZ_3 ____ ____ ____ ____ 4 1 2 3
2条答案
按热度按时间mitkmikd1#
你可以叫名字
当然,您可以在没有中间变量的情况下执行此操作
分机号:
如果您只想将
'DATE'
放在最前面,而不管它当前在顺序中的位置,那么您可以执行以下操作kmbjn2e32#
是的,您可以使用索引来实现这一点(如果您查看
movevars
的实现,这正是它所做的)。