主要内容

数据集

类别:数据集

(不推荐)构造数据集数组

数据集不推荐使用数据类型。要处理异构数据,请使用MATLAB®桌子而不是数据类型。参见MATLAB桌子有关更多信息,请参阅文档。

语法

A=数据集(瓦斯派克,'参数名',价值
A=数据集('文件',文件名,'参数名',价值
=数据集(“XLSFile”,文件名,'参数名',价值
=数据集(“XPTFile”,xptfilename,'参数名',价值

描述

A=数据集(瓦斯派克,'参数名',价值创建数据集的数组一个使用工作区变量输入法瓦斯派克和一个或多个可选名称/值对(请参阅参数名称/值对)。

输入法瓦斯派克可以是以下一项或多项:

  • 变量-工作空间变量。数据集将工作区名称用作中的变量名称一个.要包含多个变量,请指定VAR_1VAR_2,...,瓦伦.变量可以是任意大小的数组,但所有变量必须具有相同的行数。变量也可以是一个表达式。在这种情况下,,数据集自动创建默认名称。

  • 变量的名字}—一个工作区变量,变量和一个变量名,的名字数据集使用的名字作为变量名。要包含多个变量和名称,请指定{VAR_1name_1}, {VAR_2name_2},..., {瓦伦name_N}.

  • 变量name_1...name_m},-列式工作空间变量,变量数据集使用名称name_1...name_m作为变量名。必须为中的每一列包含一个名称变量。每列在中成为一个单独的变量一个

您可以根据需要组合这些输入方法以包含尽可能多的变量和名称。名称必须是有效的、唯一的MATLAB标识符。有关输入组合的示例,请参见示例。有关可选名称/值对,请参阅输入。

要将数字数组、单元格数组、结构数组或表转换为数据集数组,还可以使用(分别):

请注意

数据集数组可以包含内置类型或数组对象作为变量。数组对象必须实现以下各项:

  • 标准MATLAB括号索引的形式var(我…)哪里是对应于变量行的数字或逻辑向量

  • 一个大小方法昏暗的论点

  • 一个维特卡特方法

A=数据集('文件',文件名,'参数名',价值创建数据集的数组一个从指定的文本文件中的面向列的数据文件名.变量一个的类型双重的如果文件相应列中的数据(列标题后)完全是数字;否则,变量一个是字符向量的单元格数组。数据集将空字段转换为(对于数字变量)或空字符向量(对于字符值变量)。数据集忽略文件中不重要的空白。不能同时指定文件和工作空间变量作为输入。有关详细信息,请参见名称/值对。

=数据集(“XLSFile”,文件名,'参数名',价值创建数据集的数组一个从Excel中的面向列的数据®指定的电子表格文件名.变量一个的类型双重的如果在电子表格的相应列中,列标题后面的数据完全是数字;否则一个是字符向量的单元格数组。有关更多信息,请参阅名称/值对。

=数据集(“XPTFile”,xptfilename,'参数名',价值从SAS创建数据集阵列®XPORT格式文件。保留XPORT格式文件中的变量名。XPORT格式文件中的数字数据类型被保留,但所有其他数据类型都被转换为字符向量的单元格数组。XPORT格式允许丢失28种数据类型。数据集用大写字母表示文件中的这些内容,“。”“_”数据集将所有丢失的数据转换为一个。有关详细信息,请参阅名称/值对。

参数名称/值对

构造数据集时,请指定以下一个或多个名称/值对:

VarNames

字符串数组或单元格数组{name_1,…,name_m}命名的变量一个使用指定的变量名。名称必须是有效的,唯一的MATLAB标识符。名称的数量必须等于变量的数量一个. 您不能使用VarNames参数,如果使用{VAR,name}对。指定VarNames当使用文件作为输入时,设置ReadVarNames

污名

字符串数组或单元格数组{name_1,…,name_n}命名的n观察一个使用指定的观察名称。名称不必是有效的MATLAB标识符,但必须是唯一的。名称的数量必须等于中的观察数(行)一个.指定污名当使用文件作为输入时,设置可读名称

当使用文本文件作为输入时可用的名称/值对:

分隔符

字符向量或字符串标量,指示文件中分隔列的字符。值是

  • ' \ t '(选项卡,为否时的默认值。)总体安排指定)

  • ' '(空格,当总体安排指定)

  • ','(逗号)

  • ';'(分号)

  • '|'(巴)

总体安排

所接受的格式字符向量或字符串标量文本扫描数据集使用文本扫描,并在中创建变量一个根据字符向量或字符串标量格式中的转换说明符。您还可以提供由接受的任何名称/值对文本扫描.使用总体安排参数对于大文件要快得多。如果可读名称符合事实的,然后总体安排应该包含文件第一列的格式说明符。

HeaderLines

指示文件开头要跳过的行数的数值。

默认值:0

治疗空虚

指定要视为数字列中的空字符向量的字符。值可以是字符数组、字符串数组或字符向量的单元格数组。该参数仅适用于文件中的数字列;数据集不接受数字文字,例如“-99”

使用文本文件或Excel电子表格作为输入时可用的名称/值对:

ReadVarNames

一个逻辑值,指示是否(符合事实的)还是不()从文件的第一行读取变量名。默认值是符合事实的.如果ReadVarNames符合事实的,文件或范围(如果使用Excel电子表格)的列标题中的变量名称不能为空。

可读名称

一个逻辑值,指示是否(符合事实的)还是不()从文件或范围的第一列读取观测名称(如果使用Excel电子表格)。默认值是.如果可读名称ReadVarNames都是符合事实的数据集将文件或范围中第一列的标题另存为中第一个维度的名称A.Properties.DimNames

从一个XPT材料格式化文件可读名称参数名称/值对确定是否尝试使用文件中的第一个变量作为观察名称。指定为逻辑值(默认值))。如果第一个变量的内容不是有效的观察名称,则数据集将变量读入dataset数组的变量,但不设置观测名称。

使用Excel电子表格作为输入时可用的名称/值对:

床单

类型的正标量值双重的表示单张编号或引用的单张名称。

范围

这种形式的字符向量或字符串标量‘C1:C2’在哪里C1C2是否要读取矩形区域相对角落的单元格名称xlsread。默认情况下,矩形区域延伸到包含数据的最右边的列。如果电子表格在数据列之间包含空列,或者如果电子表格包含数字或其他非表格信息,请指定仅包含数据的范围。

例子

从工作区变量创建一个数据集数组,包括观察名称:

谷物=数据集(卡路里,蛋白质,脂肪,钠,纤维,碳水化合物,…properties . vardescription =变量(4:10,2);

从单个多列工作空间变量创建数据集数组,为每列指定变量名称:

加载城市类别=单元STR(类别);城市=数据集({ratings,categories{:}},'ObsNames',单元STR(names))

从文本或电子表格文件加载数据

病人=数据集(‘文件’,‘hospital.dat’,……'Delimiter',',' ReadObsNames',true) patients2 = dataset('XLSFile','hospital.xls',…“ReadObsNames”,真的)
  1. 从CSV文件加载患者数据hospital.dat并将信息存储在数据集数组,观察名称由数据的第一列给出(患者识别):

    Patients = dataset('file','hospital.dat',…“格式”、“% s % s % s % % % f % f % % % f % f % f ',…“分隔符”、“,”、“ReadObsNames”,真正的);

    您还可以在不指定格式的情况下加载数据。数据集将自动创建数据集变量是双重的字符向量的数组或单元格数组,具体取决于文件的内容:

    患者=数据集('file'、'hospital.dat'、…'delimiter'、'、'、…'ReadObsNames',true);

  2. 使{0,1}成为有值变量标称,并将标签更改为“不”“是的”

    病人。烟= nominal(patients.smoke,{'No','Yes'});
  3. 将新级别添加到作为更详细的吸烟者历史的占位符:

    患者吸烟=增加水平(患者吸烟,{'0-5年','5-10年','长期');
  4. 假设不吸烟者从未吸烟,重新贴上标签“不”级别:

    patients.smoke=setlabels(patients.smoke,'Never','No');
  5. 将未分化“是的”级别从

    patients.smoke=雾滴水平(patients.smoke,'Yes');警告:OLDLEVELS包含存在于中的分类级别,导致某些数组元素具有未定义的级别。

    注意,吸烟者现在有一个未定义的级别。

  6. 根据观察名称,将每个吸烟者设置为一个新的水平:

    吸烟('YPL-320')='5-10年';
介绍了R2007a