Main Content

访问表中的数据

表是以变量形式存储列向数据的容器。要访问表中的数据,可以通过指定行和变量对表进行索引,就像通过指定行和列对矩阵进行索引一样。表变量有名称,就像结构体的字段有名称一样。表的行也可以有名称,但行名称不是必需的。要对表进行索引,请使用位置、名称或数据类型指定行和变量。结果可以是数组或表。

本主题介绍不同表索引语法以及何时使用每种语法类型。其他示例说明应用这些表索引类型的不同方式。本主题末尾的表摘要显示了索引语法、如何指定行和变量以及生成的输出。

表索引语法

根据您使用的索引类型,结果或者是从表中提取的一个数组,或者是一个新表。使用以下方式进行索引:

  • 圆点表示法,T.varnameT.(expression) 所示,从一个表变量中提取一个数组。

  • 花括号,T{rows,vars} 中所示,从指定的行和变量中提取一个数组。各变量必须具有兼容的数据类型,以便它们可以串联成一个数组。

  • 圆括号,T(rows,vars) 中所示,返回一个只包含指定行和变量的表。

此图显示三种类型的表索引。

To extract an array from one table variable, use dot notation. To extract an array from multiple table variables, use curly braces. To return a table that has only the specified rows and variables, use parentheses.

推荐的索引语法

访问表内容的推荐方法取决于所需的结果和指定的变量数目。在这些语法示例中,T 是包含名为 Var1Var2Var3 的变量的表。(如果在调用 table 函数时没有指定变量名称,则这些名称是默认名称。)

T = table([1;2;3;4;5],[5;10;15;20;25],[150;300;450;600;750])
  • 要访问一个表变量,请使用圆点表示法。指定与变量的名称或位置匹配的变量名称或表达式。

    使用变量的字面名称比使用表达式更快。例如,T.Var1T.(1) 都访问 T 的第一个变量,但使用表达式会更慢。

    X = T.Var1
    Y = T.Var1(1:3)
    Z = T.(1)
    T.Var1 = T.Var1 .* 10
    

    您也可以使用花括号指定一个变量。但是,使用圆点表示法访问变量比使用花括号访问变量更快。

  • 要访问多个表变量,请使用花括号。

    X = T{:,["Var1","Var2"]}
    Y = T{1:3,["Var1","Var2"]}
    T{:,["Var1","Var2"]} = T{:,["Var1","Var2"]} .* 10
    
  • 要返回只包含指定行和变量的表,请使用圆括号。

    T2 = T(:,["Var1","Var2"])
    T2 = T(1:3,["Var1","Var2"])
    
    A = rand(5,1)
    B = rand(5,1)
    T(:,["Var1","Var2"]) = table(A,B)
    

通过指定行和变量进行索引

您可以通过指定数值索引、行和变量名称或变量数据类型对表进行索引。

创建一个表。从示例 patients.mat 文件中加载数据数组。然后使用 table 函数从这些数组创建一个表。输入数组的名称成为表变量的名称。行名称是可选的。要指定行名称,请使用 RowNames 名称-值参量。

load patients.mat Age Height Weight Smoker LastName
T = table(Age,Height,Weight,Smoker,RowNames=LastName)
T=100×4 table
                Age    Height    Weight    Smoker
                ___    ______    ______    ______

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

按位置进行索引

您可以通过将位置指定为数值索引对表进行索引。您还可以使用冒号和 end 关键字。

例如,对 T 的前三行进行索引。此语法是返回具有指定行数的表的一种简洁方式。

firstRows = T(1:3,:)
firstRows=3×4 table
                Age    Height    Weight    Smoker
                ___    ______    ______    ______

    Smith       38       71       176      true  
    Johnson     43       69       163      false 
    Williams    38       64       131      false 

返回包含 T 的前两个变量和最后三行的表。

lastRows = T(end-2:end,1:2)
lastRows=3×2 table
               Age    Height
               ___    ______

    Griffin    49       70  
    Diaz       45       68  
    Hayes      48       66  

如果变量具有兼容的数据类型,则可以使用花括号将提取的数据以一个数组形式返回。

lastRowsAsArray = T{end-2:end,1:2}
lastRowsAsArray = 3×2

    49    70
    45    68
    48    66

按变量名称进行索引

您可以通过使用字符串数组指定变量名称对表进行索引。表变量名称不必是有效的 MATLAB® 标识符。它们可以包括空格和非 ASCII 字符,并且可以由任何字符开头。

例如,返回一个表,其中只包含 T 中的 HeightWeight 变量的前三行。

variablesByName = T(1:3,["Height","Weight"])
variablesByName=3×2 table
                Height    Weight
                ______    ______

    Smith         71       176  
    Johnson       69       163  
    Williams      64       131  

使用花括号将数据以数组形式返回。

arraysFromVariables = T{1:3,["Height","Weight"]}
arraysFromVariables = 3×2

    71   176
    69   163
    64   131

您也可以使用圆点表示法对一个变量进行索引。事实上,在只访问一个变量时,圆点表示法会更高效。

heightAsArray = T.Height
heightAsArray = 100×1

    71
    69
    64
    67
    64
    68
    64
    68
    68
    66
      ⋮

使用圆点表示法将 Height 变量的前三行以一个数组形式返回。

firstHeights = T.Height(1:3)
firstHeights = 3×1

    71
    69
    64

按行名称进行索引

如果表有行名称,您可以按行名称而不仅仅是行号对它进行索引。例如,返回 T 中对应三个特定患者的行。

rowsByName = T(["Griffin","Diaz","Hayes"],:)
rowsByName=3×4 table
               Age    Height    Weight    Smoker
               ___    ______    ______    ______

    Griffin    49       70       186      false 
    Diaz       45       68       172      true  
    Hayes      48       66       177      false 

您也可以使用花括号将数据以数组形式返回。

arraysFromRows = T{["Griffin","Diaz","Hayes"],:}
arraysFromRows = 3×4

    49    70   186     0
    45    68   172     1
    48    66   177     0

对一个元素进行索引

要对表的一个元素进行索引,请指定一行和一个变量。使用花括号将该元素以一个数组形式返回,在本例中是一个标量值。

oneElement = T{"Diaz","Height"}
oneElement = 68

要将该元素以具有一行和一个变量的表形式返回,请使用圆括号。

oneElementTable = T("Diaz","Height")
oneElementTable=table
            Height
            ______

    Diaz      68  

按变量数据类型进行索引

要通过指定具有相同数据类型的变量对表进行索引,请使用 vartype 函数创建一个数据类型下标。

例如,创建一个数据类型下标来匹配数值表变量。

numSubscript = vartype("numeric")
numSubscript = 
	table vartype subscript:

		Select table variables matching the type 'numeric'

返回一个只包含 T 的数值变量的表。不包括 Smoker 变量,因为它是逻辑变量。

onlyNumVariables = T(:,numSubscript)
onlyNumVariables=100×3 table
                Age    Height    Weight
                ___    ______    ______

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

为表赋值

您可以使用任何索引语法为表赋值。您可以为变量、行或各个元素赋值。

为变量赋值

使用 readtable 函数将停电数据从电子表格导入表中。

outages = readtable("outages.csv",TextType="string")
outages=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"
      ⋮

要为一个变量赋值,请使用圆点表示法。例如,将 Loss 变量按因子 100 进行缩放。

outages.Loss = outages.Loss .* 100
outages=1468×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    "SouthWest"    2002-02-01 12:18     45898    1.8202e+06    2002-02-07 16:50    "winter storm"   
    "SouthEast"    2003-01-23 00:49     53014    2.1204e+05                 NaT    "winter storm"   
    "SouthEast"    2003-02-07 21:15     28940    1.4294e+05    2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44     43481    3.4037e+05    2004-04-06 06:10    "equipment fault"
    "MidWest"      2002-03-16 06:18     18644    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     23129           NaN    2004-06-20 19:16    "equipment fault"
    "West"         2002-06-06 19:28     31186           NaN    2002-06-07 00:51    "equipment fault"
    "NorthEast"    2003-07-16 16:23     23993         49434    2003-07-17 01:12    "fire"           
    "MidWest"      2004-09-27 11:09     28672         66104    2004-09-27 16:37    "equipment fault"
    "SouthEast"    2004-09-05 17:48    7338.7         36073    2004-09-05 20:46    "equipment fault"
    "West"         2004-05-21 21:45     15999           NaN    2004-05-22 04:23    "equipment fault"
    "SouthEast"    2002-09-01 18:22    9591.7         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     25409    9.2429e+05    2003-11-17 02:04    "winter storm"   
    "NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
      ⋮

您还可以使用花括号将数据赋给多个变量。这些变量必须具有兼容的数据类型。例如,将 LossCustomers 按因子 1/10,000 进行缩放。

outages{:,["Loss","Customers"]} = outages{:,["Loss","Customers"]} ./ 10000
outages=1468×6 table
      Region          OutageTime        Loss      Customers    RestorationTime           Cause      
    ___________    ________________    _______    _________    ________________    _________________

    "SouthWest"    2002-02-01 12:18     4.5898     182.02      2002-02-07 16:50    "winter storm"   
    "SouthEast"    2003-01-23 00:49     5.3014     21.204                   NaT    "winter storm"   
    "SouthEast"    2003-02-07 21:15      2.894     14.294      2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44     4.3481     34.037      2004-04-06 06:10    "equipment fault"
    "MidWest"      2002-03-16 06:18     1.8644     21.275      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     2.3129        NaN      2004-06-20 19:16    "equipment fault"
    "West"         2002-06-06 19:28     3.1186        NaN      2002-06-07 00:51    "equipment fault"
    "NorthEast"    2003-07-16 16:23     2.3993     4.9434      2003-07-17 01:12    "fire"           
    "MidWest"      2004-09-27 11:09     2.8672     6.6104      2004-09-27 16:37    "equipment fault"
    "SouthEast"    2004-09-05 17:48    0.73387     3.6073      2004-09-05 20:46    "equipment fault"
    "West"         2004-05-21 21:45     1.5999        NaN      2004-05-22 04:23    "equipment fault"
    "SouthEast"    2002-09-01 18:22    0.95917     3.6759      2002-09-01 19:12    "severe storm"   
    "SouthEast"    2003-09-27 07:32        NaN     35.517      2003-10-04 07:02    "severe storm"   
    "West"         2003-11-12 06:12     2.5409     92.429      2003-11-17 02:04    "winter storm"   
    "NorthEast"    2004-09-18 05:54          0          0                   NaT    "equipment fault"
      ⋮

为行分配值

要将一行值分配给一个表,可以使用单行表或元胞数组。在这种情况下,使用元胞数组可能比创建单行表并赋值更方便。

例如,将数据分配给 outages 末尾的一个新行。显示表的末尾。

outages(end+1,:) = {"East",datetime("now"),17.3,325,datetime("tomorrow"),"unknown"};
outages(end-2:end,:)
ans=3×6 table
      Region          OutageTime         Loss      Customers    RestorationTime           Cause      
    ___________    ________________    ________    _________    ________________    _________________

    "SouthEast"    2013-12-20 19:52    0.023096     0.10382     2013-12-20 23:29    "thunder storm"  
    "SouthEast"    2011-09-14 11:55     0.45042      1.1835     2011-09-14 13:28    "equipment fault"
    "East"         2024-03-07 17:24        17.3         325     2024-03-08 00:00    "unknown"        

要将数据赋给多个行,请从另一个具有相同变量名称和数据类型的表向其赋值。例如,创建一个新的两行表。

newOutages = table(["West";"North"], ...
                   datetime(2024,1,1:2)', ...
                   [3;4], ...
                   [300;400], ...
                   datetime(2024,1,3:4)',["unknown";"unknown"], ...
                   VariableNames=outages.Properties.VariableNames)
newOutages=2×6 table
    Region     OutageTime     Loss    Customers    RestorationTime      Cause  
    _______    ___________    ____    _________    _______________    _________

    "West"     01-Jan-2024     3         300         03-Jan-2024      "unknown"
    "North"    02-Jan-2024     4         400         04-Jan-2024      "unknown"

将该两行表分配给 outages 的前两行。然后显示 outages 的前四行。

outages(1:2,:) = newOutages;
outages(1:4,:)
ans=4×6 table
      Region          OutageTime        Loss     Customers    RestorationTime           Cause      
    ___________    ________________    ______    _________    ________________    _________________

    "West"         2024-01-01 00:00         3        300      2024-01-03 00:00    "unknown"        
    "North"        2024-01-02 00:00         4        400      2024-01-04 00:00    "unknown"        
    "SouthEast"    2003-02-07 21:15     2.894     14.294      2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44    4.3481     34.037      2004-04-06 06:10    "equipment fault"

为元素赋值

要为表的元素赋值,请使用花括号。例如,为前两次停电指定原因。

outages{1,"Cause"} = "severe storm";
outages{2,"Cause"} = "attack";
outages(1:4,:)
ans=4×6 table
      Region          OutageTime        Loss     Customers    RestorationTime           Cause      
    ___________    ________________    ______    _________    ________________    _________________

    "West"         2024-01-01 00:00         3        300      2024-01-03 00:00    "severe storm"   
    "North"        2024-01-02 00:00         4        400      2024-01-04 00:00    "attack"         
    "SouthEast"    2003-02-07 21:15     2.894     14.294      2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44    4.3481     34.037      2004-04-06 06:10    "equipment fault"

查找值满足条件的表行

要查找其中的值满足条件的表行,请使用逻辑索引。指定包含感兴趣值的表变量,并根据表变量中的值是否满足您指定的条件来创建一个行索引数组。使用行索引对表进行索引。

首先,将停电数据从电子表格导入表中。

outages = readtable("outages.csv",TextType="string")
outages=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"
      ⋮

接下来,创建与变量满足条件的行匹配的行索引。例如,对地区为 West 的行创建索引。

rows = matches(outages.Region,"West")
rows = 1468x1 logical array

   0
   0
   0
   1
   0
   1
   1
   1
   0
   0
      ⋮

您可以用逻辑索引对表进行索引。显示表中发生在 West 地区的停电的行。

outages(rows,:)
ans=354×6 table
    Region       OutageTime        Loss     Customers     RestorationTime           Cause      
    ______    ________________    ______    __________    ________________    _________________

    "West"    2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
    "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"
    "West"    2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
    "West"    2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
    "West"    2004-12-21 18:50    112.05     7.985e+05    2004-12-29 03:46    "winter storm"   
    "West"    2002-12-16 13:43    70.752    4.8193e+05    2002-12-19 09:38    "winter storm"   
    "West"    2005-06-29 08:37    601.13         32005    2005-06-29 08:57    "equipment fault"
    "West"    2003-04-14 07:11    276.41        1.5647    2003-04-14 08:52    "equipment fault"
    "West"    2003-10-21 17:25    235.12         51496    2003-10-21 19:43    "equipment fault"
    "West"    2005-10-21 08:33       NaN         52639    2005-11-22 22:10    "fire"           
    "West"    2003-08-28 23:46    172.01    1.6964e+05    2003-09-03 02:10    "wind"           
    "West"    2005-03-01 14:39    115.47         82611    2005-03-03 05:58    "equipment fault"
    "West"    2005-09-26 06:32    258.18    1.3996e+05    2005-09-26 06:33    "earthquake"     
    "West"    2003-12-22 03:40    232.26    3.9462e+05    2003-12-24 16:32    "winter storm"   
      ⋮

您可以用一个逻辑表达式匹配多个条件。例如,在 WestMidWest 地区中查找停电影响超出一百万客户的行。

rows = (outages.Customers > 1e6 & (matches(outages.Region,"West") | matches(outages.Region,"MidWest")));
outages(rows,:)
ans=10×6 table
     Region         OutageTime        Loss     Customers     RestorationTime           Cause      
    _________    ________________    ______    __________    ________________    _________________

    "MidWest"    2002-12-10 10:45     14493    3.0879e+06    2002-12-11 18:06    "unknown"        
    "West"       2007-10-20 20:56    3537.5    1.3637e+06    2007-10-20 22:08    "equipment fault"
    "West"       2006-12-28 14:04    804.05    1.5486e+06    2007-01-04 14:26    "severe storm"   
    "MidWest"    2006-07-16 00:05    1817.9     3.295e+06    2006-07-27 14:42    "severe storm"   
    "West"       2006-01-01 11:54    734.11      4.26e+06    2006-01-11 01:21    "winter storm"   
    "MidWest"    2008-09-19 23:31    4801.1    1.2151e+06    2008-10-03 14:04    "severe storm"   
    "MidWest"    2008-09-07 23:35       NaN     3.972e+06    2008-09-19 17:19    "severe storm"   
    "West"       2011-07-24 02:54    483.37    1.1212e+06    2011-07-24 12:18    "wind"           
    "West"       2010-01-24 18:47    348.91    1.8865e+06    2010-01-30 01:43    "severe storm"   
    "West"       2010-05-17 09:10    8496.6    2.0768e+06    2010-05-18 22:43    "equipment fault"

表索引语法一览

下表列出了每种索引类型与表索引语法的不同组合及结果输出。您可以按位置、名称或数据类型指定行和变量。

  • 不支持线性索引。当使用花括号或圆括号进行索引时,必须同时指定行和变量。

  • 变量名称和行名称可以包含任何字符,包括空格和非 ASCII 字符。此外,它们可以由任何字符(而不仅仅是字母)开头。变量名称和行名称可以不是有效的 MATLAB 标识符(由 isvarname 函数决定)。 (自 R2019b 起)

  • 当您按名称指定行和变量时,可以使用 pattern 对象来指定名称。例如,"Var" + digitsPattern 匹配以 Var 开头并以任意个数字结尾的所有名称。 (自 R2022a 起)

输出

语法

变量

示例

数组,包含从一个变量中提取的数据

T.var

T.(expression)

未指定

指定为:

  • 变量名称(不带引号)

  • 圆括号内的表达式,返回变量名称或变量编号

  • T.Date

    从名为 Date 的表变量中提取的数组

  • T.("2019-06-30")

    从名为 2019-06-30 的表变量中提取的数组

  • T.(1)

    从第一个表变量中提取的数组

数组,包含从一个变量中提取的指定数据元素

T.var(i,j,...)

T.(expression)(i,j,...)

未指定

索引 i,j,... 不指定表的行,而是指定提取的数组的元素。

指定为:

  • 变量名称(不带引号)

  • 圆括号内的表达式,返回变量名称或变量编号

使用数值索引或逻辑索引指定数组元素。

如果提取的数组是矩阵或多维数组,您可以指定多个数值索引。

  • T.Date(1:5)

    从名为 Date 的表变量中所提取数组的前五个元素

  • T.("2019-06-30")(1:5)

    从名为 2019-06-30 的表变量中所提取数组的前五个元素

  • T.(1)(1:5)

    从第一个表变量中提取所数组的前五个元素

  • T.Var1(1:5,1:3)

    从名为 Var1 的表变量中提取的矩阵或多维数组的前五行和前三列

数组,数据由指定的行和变量串联而成

T{rows,vars}

指定为:

  • 行号(在 1m 之间)

  • 具有 m 个元素的逻辑数组

  • 名称,如果 T 有行名称

  • 时间,如果 T 是时间表

  • 冒号 (:),表示所有行

  • end 关键字,表示最后一行

指定为:

  • 变量编号(在 1n 之间)

  • 具有 n 个元素的逻辑数组

  • 名称

  • 冒号 (:),表示所有变量

  • end 关键字,表示最后一个变量

  • T{1:5,[1 4 5]}

    T 中第一个、第四个和第五个变量的前五行串联而成的数组

  • T{1:5,[true false false true true]}

    T 中第一个、第四个和第五个变量的前五行串联而成的数组

  • T{:,["A","B"]}

    由名为 AB 的变量的所有行串联而成的数组

  • T{:,"A" + wildcardPattern}

    由名称以 A 开头的所有行和变量串联而成的数组

数组,数据由指定的行和具有指定数据类型的变量串联而成

S = vartype(type);

T{rows,S}

指定为:

  • 行号(在 1m 之间)

  • 具有 m 个元素的逻辑数组

  • 名称,如果 T 有行名称

  • 时间,如果 T 是时间表

  • 冒号 (:),表示所有行

  • end 关键字,表示最后一行

指定为数据类型下标,如 vartype("numeric")vartype("categorical")vartype("datetime")

  • S = vartype("numeric");

    T{1:5,S}

    T 的前五行中的数值变量串联而成的数组

数组,数据由所有行和变量串联而成

T.Variables

未指定

未指定

  • T.Variables

    T{:,:} 返回的数组相同

表,包含指定的行和变量

T(rows,vars)

指定为:

  • 行号(在 1m 之间)

  • 具有 m 个元素的逻辑数组

  • 名称,如果 T 有行名称

  • 时间,如果 T 是时间表

  • 冒号 (:),表示所有行

  • end 关键字,表示最后一行

指定为:

  • 变量编号(在 1n 之间)

  • 具有 n 个元素的逻辑数组

  • 名称

  • 冒号 (:),表示所有变量

  • end 关键字,表示最后一个变量

  • T(1:5,[1 4 5])

    表,包含 T 中第一个、第四个和第五个变量的前五行

  • T(1:5,[true false false true true])

    表,包含 T 中第一个、第四个和第五个变量的前五行

  • T(:,["A","B"])

    表,包含名为 AB 的变量的所有行

  • T(:,"A" + wildcardPattern)

    表,包含名称以 A 开头的变量的所有行

表,包含具有指定数据类型的指定行和变量

S = vartype(type);

T(rows,S)

指定为:

  • 行号(在 1m 之间)

  • 具有 m 个元素的逻辑数组

  • 名称,如果 T 有行名称

  • 时间,如果 T 是时间表

  • 冒号 (:),表示所有行

  • end 关键字,表示最后一行

指定为数据类型下标,如 vartype("numeric")vartype("categorical")vartype("datetime")

  • S = vartype("numeric");

    T(1:5,S)

    表,包含 T 的前五行和数值变量

另请参阅

| | |

相关主题