主要内容

addvars

将变量添加到表或时间表中

说明

T2 = addvars(T1,var1,...,varN)var1,…,varN 指定的数组作为新变量添加到 T1 中最后一个变量的右侧。输入数组 var1,…,varN 可以是具有任何数据类型、表和时间表的数组。所有输入参量必须与 T1 具有相同的行数。

例如,要在 T1 中的最后一个变量后添加名为 A 的列向量,请使用 T2 = addvars(T1,A)

示例

T2 = addvars(T1,var1,...,varN,After=location) 将变量插入到 location 指定的表变量的右侧。您可以将 location 指定为变量名称,也可将其指定为数值或逻辑索引。

例如,要在表变量 A 后插入名为 var2 的列向量,请使用 T2 = addvars(T1,A,After="var2")

示例

T2 = addvars(T1,var1,...,varN,Before=location) 将变量插入到由 location 指示的表变量的左侧。

例如,要在表变量 A 前插入名为 var3 的列向量,请使用 T2 = addvars(T1,A,Before="var3")

示例

T2 = addvars(___,NewVariableNames=newNames) 使用由 T2 指定的名称重命名添加到 newNames 中的变量。newNames 中的名称数量必须与添加的变量数量相同。您可将此语法与上述语法中的任何输入参量一起使用。

示例

示例

全部折叠

创建一个表。然后从工作区向此表中添加变量。

patients.mat 文件中加载数组。创建包含患者年龄、身高和体重的表。

load patients
T1 = table(Age,Height,Weight)
T1=100×3 table
    Age    Height    Weight
    ___    ______    ______

    38       71       176  
    43       69       163  
    38       64       131  
    40       67       133  
    49       64       119  
    46       68       142  
    33       64       142  
    40       68       180  
    28       68       183  
    31       66       132  
    45       68       128  
    42       66       137  
    25       71       174  
    39       72       202  
    36       65       129  
    48       71       181  
      ⋮

将工作区变量 SmokerLastName 添加到表中。在添加 LastName 之前,请将其转换为字符串数组。

LastName = string(LastName);
T2 = addvars(T1,Smoker,LastName)
T2=100×5 table
    Age    Height    Weight    Smoker     LastName 
    ___    ______    ______    ______    __________

    38       71       176      true      "Smith"   
    43       69       163      false     "Johnson" 
    38       64       131      false     "Williams"
    40       67       133      false     "Jones"   
    49       64       119      false     "Brown"   
    46       68       142      false     "Davis"   
    33       64       142      true      "Miller"  
    40       68       180      false     "Wilson"  
    28       68       183      false     "Moore"   
    31       66       132      false     "Taylor"  
    45       68       128      false     "Anderson"
    42       66       137      false     "Thomas"  
    25       71       174      false     "Jackson" 
    39       72       202      true      "White"   
    36       65       129      false     "Harris"  
    48       71       181      true      "Martin"  
      ⋮

创建一个表。然后在表中指定的位置之前和之后插入变量。

patients.mat 文件中加载数组。创建一个包含患者姓名和位置的表。

load patients
LastName = string(LastName);
Location = string(Location);
T1 = table(LastName,Location)
T1=100×2 table
     LastName              Location          
    __________    ___________________________

    "Smith"       "County General Hospital"  
    "Johnson"     "VA Hospital"              
    "Williams"    "St. Mary's Medical Center"
    "Jones"       "VA Hospital"              
    "Brown"       "County General Hospital"  
    "Davis"       "St. Mary's Medical Center"
    "Miller"      "VA Hospital"              
    "Wilson"      "VA Hospital"              
    "Moore"       "St. Mary's Medical Center"
    "Taylor"      "County General Hospital"  
    "Anderson"    "County General Hospital"  
    "Thomas"      "St. Mary's Medical Center"
    "Jackson"     "VA Hospital"              
    "White"       "VA Hospital"              
    "Harris"      "St. Mary's Medical Center"
    "Martin"      "VA Hospital"              
      ⋮

将工作区变量 Age 插入到表变量 Location 之前。要通过名称引用表变量,请将名称指定为字符串。

T2 = addvars(T1,Age,Before="Location")
T2=100×3 table
     LastName     Age             Location          
    __________    ___    ___________________________

    "Smith"       38     "County General Hospital"  
    "Johnson"     43     "VA Hospital"              
    "Williams"    38     "St. Mary's Medical Center"
    "Jones"       40     "VA Hospital"              
    "Brown"       49     "County General Hospital"  
    "Davis"       46     "St. Mary's Medical Center"
    "Miller"      33     "VA Hospital"              
    "Wilson"      40     "VA Hospital"              
    "Moore"       28     "St. Mary's Medical Center"
    "Taylor"      31     "County General Hospital"  
    "Anderson"    45     "County General Hospital"  
    "Thomas"      42     "St. Mary's Medical Center"
    "Jackson"     25     "VA Hospital"              
    "White"       39     "VA Hospital"              
    "Harris"      36     "St. Mary's Medical Center"
    "Martin"      48     "VA Hospital"              
      ⋮

Age 后插入更多变量。由于 Age 是 T2 中的表变量,因此将其名称指定为字符串。

T3 = addvars(T2,Height,Weight,After="Age")
T3=100×5 table
     LastName     Age    Height    Weight             Location          
    __________    ___    ______    ______    ___________________________

    "Smith"       38       71       176      "County General Hospital"  
    "Johnson"     43       69       163      "VA Hospital"              
    "Williams"    38       64       131      "St. Mary's Medical Center"
    "Jones"       40       67       133      "VA Hospital"              
    "Brown"       49       64       119      "County General Hospital"  
    "Davis"       46       68       142      "St. Mary's Medical Center"
    "Miller"      33       64       142      "VA Hospital"              
    "Wilson"      40       68       180      "VA Hospital"              
    "Moore"       28       68       183      "St. Mary's Medical Center"
    "Taylor"      31       66       132      "County General Hospital"  
    "Anderson"    45       68       128      "County General Hospital"  
    "Thomas"      42       66       137      "St. Mary's Medical Center"
    "Jackson"     25       71       174      "VA Hospital"              
    "White"       39       72       202      "VA Hospital"              
    "Harris"      36       65       129      "St. Mary's Medical Center"
    "Martin"      48       71       181      "VA Hospital"              
      ⋮

在第一个表变量后插入 Smoker。您可以按变量在表中的位置而不是按名称指定变量。

T4 = addvars(T3,Smoker,After=1)
T4=100×6 table
     LastName     Smoker    Age    Height    Weight             Location          
    __________    ______    ___    ______    ______    ___________________________

    "Smith"       true      38       71       176      "County General Hospital"  
    "Johnson"     false     43       69       163      "VA Hospital"              
    "Williams"    false     38       64       131      "St. Mary's Medical Center"
    "Jones"       false     40       67       133      "VA Hospital"              
    "Brown"       false     49       64       119      "County General Hospital"  
    "Davis"       false     46       68       142      "St. Mary's Medical Center"
    "Miller"      true      33       64       142      "VA Hospital"              
    "Wilson"      false     40       68       180      "VA Hospital"              
    "Moore"       false     28       68       183      "St. Mary's Medical Center"
    "Taylor"      false     31       66       132      "County General Hospital"  
    "Anderson"    false     45       68       128      "County General Hospital"  
    "Thomas"      false     42       66       137      "St. Mary's Medical Center"
    "Jackson"     false     25       71       174      "VA Hospital"              
    "White"       true      39       72       202      "VA Hospital"              
    "Harris"      false     36       65       129      "St. Mary's Medical Center"
    "Martin"      true      48       71       181      "VA Hospital"              
      ⋮

创建一个表。向表中添加变量并为它们指定新名称。

首先,根据工作区变量创建一个表。

load patients
LastName = string(LastName);
T1 = table(LastName,Age,Smoker)
T1=100×3 table
     LastName     Age    Smoker
    __________    ___    ______

    "Smith"       38     true  
    "Johnson"     43     false 
    "Williams"    38     false 
    "Jones"       40     false 
    "Brown"       49     false 
    "Davis"       46     false 
    "Miller"      33     true  
    "Wilson"      40     false 
    "Moore"       28     false 
    "Taylor"      31     false 
    "Anderson"    45     false 
    "Thomas"      42     false 
    "Jackson"     25     false 
    "White"       39     true  
    "Harris"      36     false 
    "Martin"      48     true  
      ⋮

DiastolicSystolic 合成一个两列矩阵。将新的表变量命名为 BloodPressure

T2 = addvars(T1,[Diastolic Systolic],NewVariableNames="BloodPressure")
T2=100×4 table
     LastName     Age    Smoker    BloodPressure
    __________    ___    ______    _____________

    "Smith"       38     true        93    124  
    "Johnson"     43     false       77    109  
    "Williams"    38     false       83    125  
    "Jones"       40     false       75    117  
    "Brown"       49     false       80    122  
    "Davis"       46     false       70    121  
    "Miller"      33     true        88    130  
    "Wilson"      40     false       82    115  
    "Moore"       28     false       78    115  
    "Taylor"      31     false       86    118  
    "Anderson"    45     false       77    114  
    "Thomas"      42     false       68    115  
    "Jackson"     25     false       74    127  
    "White"       39     true        95    130  
    "Harris"      36     false       79    114  
    "Martin"      48     true        92    130  
      ⋮

添加 HeightWeight 作为新的表变量。将它们重命名为 InchesPounds

T3 = addvars(T2,Height,Weight,Before="Smoker",NewVariableNames=["Inches" "Pounds"])
T3=100×6 table
     LastName     Age    Inches    Pounds    Smoker    BloodPressure
    __________    ___    ______    ______    ______    _____________

    "Smith"       38       71       176      true        93    124  
    "Johnson"     43       69       163      false       77    109  
    "Williams"    38       64       131      false       83    125  
    "Jones"       40       67       133      false       75    117  
    "Brown"       49       64       119      false       80    122  
    "Davis"       46       68       142      false       70    121  
    "Miller"      33       64       142      true        88    130  
    "Wilson"      40       68       180      false       82    115  
    "Moore"       28       68       183      false       78    115  
    "Taylor"      31       66       132      false       86    118  
    "Anderson"    45       68       128      false       77    114  
    "Thomas"      42       66       137      false       68    115  
    "Jackson"     25       71       174      false       74    127  
    "White"       39       72       202      true        95    130  
    "Harris"      36       65       129      false       79    114  
    "Martin"      48       71       181      true        92    130  
      ⋮

输入参数

全部折叠

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

要添加到输出表中的变量,指定为数组、表和时间表。由 var1,...,varN 指定的所有变量都必须与输入表 T1 具有相同的行数。

示例: T2 = addvars(T1,A) 将工作区变量 A 插入到最后一个表变量的右侧。

示例: T2 = addvars(T1,X,Y,Z) 插入工作区变量 XYZ

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

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

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

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

示例: T2 = addvars(T1,Latitude,Before="Longitude") 将工作区变量 Latitude 插入到名为 Longitude 的表变量的左侧。

示例: T2 = addvars(T1,Y,Z,After="X") 将工作区变量 YZ 插入到名为 X 的表变量的右侧。

添加的变量的名称,指定为字符串数组、字符向量或字符向量元胞数组。

示例: T2 = addvars(T1,lat,lon,NewVariableNames=["Latitude" "Longitude"]) 插入工作区变量 latlon,并将相应的表变量命名为 LatitudeLongitude

输出参量

全部折叠

具有所添加变量的输出表,以表或时间表形式返回。

限制

  • 建议对名称-值参量使用 Name=Value 语法。但如果您使用 Name,Value 语法,请对输入名称 'Before''After''NewVariableNames' 使用单引号。为了避免与变量输入混淆,请不要对这些名称使用双引号字符串标量(如 "Before")。

扩展功能

全部展开

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2018a 中推出