http://www.ilovematlab.cn/article-52-1.html
http://www.ilovematlab.cn/article-53-1.html
http://www.ilovematlab.cn/article-54-1.html
http://blog.sina.com.cn/s/blog_4cf8aad30102wcu3.html
table本质上来说是一种可以存放各种数据类型的容器,比如下面表Table.1中的数据,其中既有字符型,又有数值类型,其中第一行作为表头:Symbol,Name,Market Cap,IPO Year是各列的名字。
Symbol
|
Name
|
Market Cap
|
IPO Year
|
AAPL
|
Apple Inc
|
$742.63B
|
1980
|
AMZN
|
Amazon.com, Inc
|
$173.33B
|
1997
|
MSFT
|
Microsoft Corporation
|
$346.9B
|
1986
|
在conatiners.Map的章节中,我们介绍了MATLAB的基本数据类型(比如数组,原胞数组和结构体)在表达某些复杂数据类型时的局限性。这里不再一一赘述,读者只需要认识到:数组的局限性在于不能用来存放数值以外的数据,而使用元胞读取和索引内容时有种种不方便,比如无法区分该数据中的表头和其余的行数据。
事实上,如果数据存放在如下的CSV文件中,并且用importdata 直接读取表Table.2中的CSV文件。
特别说明 :talbe添加行列的时候,对添加的列类型没有特殊要求,double,cell都可以;
访问表中的数据
为表建立索引的方法
表是一个容器,用于存储具有相同行数的列向变量。使用括号可以选择表中的一个数据子集并保留表容器。使用大括号和点索引可以从表中提取数据。
点索引从一个表变量中提取数据。结果是与所提取变量具有相同数据类型的一个数组。您可以在点索引后使用括号指定一个行子集来提取变量中的数据。
T.Variables 可将所有表变量都水平串联到一个数组中(提取表中所有变量到数组类型)。T.Variables 等效于 T{:,:}。
按 tableName.Properties.PropertyName 的形式来访问属性
T.Properties
ans =
包含以下字段的 struct:
Description: ''
UserData: []
DimensionNames: {'Row' 'Variables'}
VariableNames: {'Q1' 'Q2' 'Q3' 'Q4' 'Q5' 'Q6' 'Q7' 'arr’} %%列名
VariableDescriptions: {}
VariableUnits: {}
VariableContinuity: {}
RowNames: {9×1 cell} %%行名
对table数据指定列排序:
- sortrows(表格)是最简略用法。此时,sortrows将首先按照第一列升序排列,如果有相同项再将相同项按照第二列升序排列等等......直至排序完成。返回排序后表格。
- sortrows(表格,'RowNames')将表格按照行名称进行排序。默认升序。按照字符串比较法,即比较ASCII码的方式。
- sortrows可以指定排序是升序还是降序。'ascend'表示升序,'descend'表示降序。
- sortrows可以用一个元胞数组依次指定排序列变量,也可以用元胞数组依次指定各个排序列变量按照升序还是降序。
- sortrows可以有两个返回值,第二个返回值的含义是:
当前表格中各行在原表格中的行位置。
函数:
- readtable 读入一个文件,创建table对象
- writetable普通函数,把table写入一个文件,内部调用write类方法,把table写入一个文件
- size 返回table的高和宽,表头不计
- width 返回table的宽
- height返回table的高
- ndims 返回table的维度
- numel 返回table高和宽的乘积
- horcat 横向串接table
- vercat 纵向串接table
- intersect 返回两表中的相同的行
- ismember查询表中的行是否在另一表中也出现
- setdiff 查询两表之间的差异
- unique 返回的表中没有相同的行
- sextor 两个集合交集的非
- union 两个集合的并
- join 自然连接
- innterjoin内连接
- outerjoin 外连接
- summary 返回table的基本信息
- sortrows 给table按照制定的row排序
- stack把table的各列摞成一列
- unstack 把table的某一列展开成为若干列
- ismissing找到table中那些没有赋值的项,返回logical index
- standizeMissing 给未赋值项赋默认值
- varfun把函数作用在table中选定的变量上
- rowfun 把函数作用在table的每列上