主要内容

movevars

在表或时间表中移动变量

说明

T2 = movevars(T1,vars) 将指定的变量移至输入表的末尾。末尾是最右侧的变量。 (自 R2023a 起)

例如,要将名为 var3 的表变量移至 T1 的末尾,请使用 T2 = movevars(T1,'var3')。如果 T1 的最后一个变量命名为 var5,则此语法将 var3 移到 var5 的右侧。

T2 = movevars(T1,vars,After=location) 将指定的表变量移动到由 location 指示的表变量的右侧。您可以通过名称、位置或逻辑索引数组来指定变量和 locationlocation 指定的变量可以是输入表中的任何变量。

例如,要将名为 var3 的表变量移至表变量 var5 后,请使用 T2 = movevars(T1,"var3",After="var5")

  • 在 R2023a 之前的版本中: 如果不知道最后一个变量的名称或位置,可以使用语法 varsT2 = movevars(T1,vars,After=width(T1)) 移到表的末尾。width 函数返回表中变量的数目。

示例

T2 = movevars(T1,vars,Before=location) 将由 vars 指定的表变量移动到由 location 指定的变量的左侧。

  • 要将 vars 移至表的开头,请使用 T2 = movevars(T1,vars,Before=1)。开头位于第一个表变量的左侧。

示例

示例

全部折叠

创建一个表并逐个移动变量。您可以通过名称或表中的位置指定变量。

将数据从电子表格读取到表中。

T1 = readtable("outages.csv",TextType="string")
T1=1468×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    "SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"   
    "SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"   
    "SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
    "MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"   
    "West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"         
    "West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"
    "West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"
    "NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"           
    "MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"
    "SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"
    "West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
    "SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"   
    "SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"   
    "West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
    "NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
      ⋮

移动名为 Region 的变量,使其位于名为 Cause 的变量之前。

T2 = movevars(T1,"Region",Before="Cause")
T2=1468×6 table
       OutageTime        Loss     Customers     RestorationTime       Region             Cause      
    ________________    ______    __________    ________________    ___________    _________________

    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "SouthWest"    "winter storm"   
    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "SouthEast"    "winter storm"   
    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "SouthEast"    "winter storm"   
    2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "West"         "equipment fault"
    2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "MidWest"      "severe storm"   
    2003-06-18 02:49         0             0    2003-06-18 10:54    "West"         "attack"         
    2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "West"         "equipment fault"
    2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "West"         "equipment fault"
    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "NorthEast"    "fire"           
    2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "MidWest"      "equipment fault"
    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "SouthEast"    "equipment fault"
    2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "West"         "equipment fault"
    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "SouthEast"    "severe storm"   
    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "SouthEast"    "severe storm"   
    2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "West"         "winter storm"   
    2004-09-18 05:54         0             0                 NaT    "NorthEast"    "equipment fault"
      ⋮

移动第四个变量,使其位于第一个变量之后。

T3 = movevars(T2,4,After=1)
T3=1468×6 table
       OutageTime       RestorationTime      Loss     Customers       Region             Cause      
    ________________    ________________    ______    __________    ___________    _________________

    2002-02-01 12:18    2002-02-07 16:50    458.98    1.8202e+06    "SouthWest"    "winter storm"   
    2003-01-23 00:49                 NaT    530.14    2.1204e+05    "SouthEast"    "winter storm"   
    2003-02-07 21:15    2003-02-17 08:14     289.4    1.4294e+05    "SouthEast"    "winter storm"   
    2004-04-06 05:44    2004-04-06 06:10    434.81    3.4037e+05    "West"         "equipment fault"
    2002-03-16 06:18    2002-03-18 23:23    186.44    2.1275e+05    "MidWest"      "severe storm"   
    2003-06-18 02:49    2003-06-18 10:54         0             0    "West"         "attack"         
    2004-06-20 14:39    2004-06-20 19:16    231.29           NaN    "West"         "equipment fault"
    2002-06-06 19:28    2002-06-07 00:51    311.86           NaN    "West"         "equipment fault"
    2003-07-16 16:23    2003-07-17 01:12    239.93         49434    "NorthEast"    "fire"           
    2004-09-27 11:09    2004-09-27 16:37    286.72         66104    "MidWest"      "equipment fault"
    2004-09-05 17:48    2004-09-05 20:46    73.387         36073    "SouthEast"    "equipment fault"
    2004-05-21 21:45    2004-05-22 04:23    159.99           NaN    "West"         "equipment fault"
    2002-09-01 18:22    2002-09-01 19:12    95.917         36759    "SouthEast"    "severe storm"   
    2003-09-27 07:32    2003-10-04 07:02       NaN    3.5517e+05    "SouthEast"    "severe storm"   
    2003-11-12 06:12    2003-11-17 02:04    254.09    9.2429e+05    "West"         "winter storm"   
    2004-09-18 05:54                 NaT         0             0    "NorthEast"    "equipment fault"
      ⋮

使用 movevars 函数移动多个表变量。您可以通过名称或位置指定变量。

将数据从电子表格读取到表中。

T1 = readtable("outages.csv",TextType="string")
T1=1468×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    "SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"   
    "SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"   
    "SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
    "MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"   
    "West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"         
    "West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"
    "West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"
    "NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"           
    "MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"
    "SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"
    "West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
    "SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"   
    "SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"   
    "West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
    "NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
      ⋮

移动名为 LossCustomerCause 的变量,使其位于第一个变量之前。

T2 = movevars(T1,["Loss" "Customers" "Cause"],Before=1)
T2=1468×6 table
     Loss     Customers           Cause            Region          OutageTime       RestorationTime 
    ______    __________    _________________    ___________    ________________    ________________

    458.98    1.8202e+06    "winter storm"       "SouthWest"    2002-02-01 12:18    2002-02-07 16:50
    530.14    2.1204e+05    "winter storm"       "SouthEast"    2003-01-23 00:49                 NaT
     289.4    1.4294e+05    "winter storm"       "SouthEast"    2003-02-07 21:15    2003-02-17 08:14
    434.81    3.4037e+05    "equipment fault"    "West"         2004-04-06 05:44    2004-04-06 06:10
    186.44    2.1275e+05    "severe storm"       "MidWest"      2002-03-16 06:18    2002-03-18 23:23
         0             0    "attack"             "West"         2003-06-18 02:49    2003-06-18 10:54
    231.29           NaN    "equipment fault"    "West"         2004-06-20 14:39    2004-06-20 19:16
    311.86           NaN    "equipment fault"    "West"         2002-06-06 19:28    2002-06-07 00:51
    239.93         49434    "fire"               "NorthEast"    2003-07-16 16:23    2003-07-17 01:12
    286.72         66104    "equipment fault"    "MidWest"      2004-09-27 11:09    2004-09-27 16:37
    73.387         36073    "equipment fault"    "SouthEast"    2004-09-05 17:48    2004-09-05 20:46
    159.99           NaN    "equipment fault"    "West"         2004-05-21 21:45    2004-05-22 04:23
    95.917         36759    "severe storm"       "SouthEast"    2002-09-01 18:22    2002-09-01 19:12
       NaN    3.5517e+05    "severe storm"       "SouthEast"    2003-09-27 07:32    2003-10-04 07:02
    254.09    9.2429e+05    "winter storm"       "West"         2003-11-12 06:12    2003-11-17 02:04
         0             0    "equipment fault"    "NorthEast"    2004-09-18 05:54                 NaT
      ⋮

移动 T2 的前四个变量,使它们位于 RestorationTime 之后。

T3 = movevars(T2,[1:4],After="RestorationTime")
T3=1468×6 table
       OutageTime       RestorationTime      Loss     Customers           Cause            Region   
    ________________    ________________    ______    __________    _________________    ___________

    2002-02-01 12:18    2002-02-07 16:50    458.98    1.8202e+06    "winter storm"       "SouthWest"
    2003-01-23 00:49                 NaT    530.14    2.1204e+05    "winter storm"       "SouthEast"
    2003-02-07 21:15    2003-02-17 08:14     289.4    1.4294e+05    "winter storm"       "SouthEast"
    2004-04-06 05:44    2004-04-06 06:10    434.81    3.4037e+05    "equipment fault"    "West"     
    2002-03-16 06:18    2002-03-18 23:23    186.44    2.1275e+05    "severe storm"       "MidWest"  
    2003-06-18 02:49    2003-06-18 10:54         0             0    "attack"             "West"     
    2004-06-20 14:39    2004-06-20 19:16    231.29           NaN    "equipment fault"    "West"     
    2002-06-06 19:28    2002-06-07 00:51    311.86           NaN    "equipment fault"    "West"     
    2003-07-16 16:23    2003-07-17 01:12    239.93         49434    "fire"               "NorthEast"
    2004-09-27 11:09    2004-09-27 16:37    286.72         66104    "equipment fault"    "MidWest"  
    2004-09-05 17:48    2004-09-05 20:46    73.387         36073    "equipment fault"    "SouthEast"
    2004-05-21 21:45    2004-05-22 04:23    159.99           NaN    "equipment fault"    "West"     
    2002-09-01 18:22    2002-09-01 19:12    95.917         36759    "severe storm"       "SouthEast"
    2003-09-27 07:32    2003-10-04 07:02       NaN    3.5517e+05    "severe storm"       "SouthEast"
    2003-11-12 06:12    2003-11-17 02:04    254.09    9.2429e+05    "winter storm"       "West"     
    2004-09-18 05:54                 NaT         0             0    "equipment fault"    "NorthEast"
      ⋮

输入参数

全部折叠

输入表,指定为表或时间表。

输入表中的变量,指定为字符串数组、字符向量、字符向量元胞数组、pattern 标量、数值数组或逻辑数组。

要插入所移动的变量的位置,指定为字符串标量、字符向量、整数或逻辑数组。

  • 如果 location 是字符串标量或字符向量,则它是输入表 T1 中一个变量的名称。

  • 如果 location 是整数 n,则它指定 T1 中的第 n 个变量。

  • 如果 location 是逻辑数组,其第 n 个元素为 1 (true),则它指定 T1 中的第 n 个变量。location 的所有其他元素必须为 0 (false)。

输出参量

全部折叠

具有移动变量的输出表,以表或时间表形式返回。

扩展功能

全部展开

版本历史记录

在 R2018a 中推出

全部展开