数据集
类:数据集
(不推荐)构造数据集数组
的数据集
不推荐选择数据类型。要处理异构数据,请使用MATLAB®表格
而是数据类型。看到MATLAB表格
文档获取更多信息。
语法
A = dataset(
varspec
,'ParamName
”,价值
)
A = dataset('文件',文件名
,'ParamName
”,价值
)
A = dataset('XLSFile',文件名
,'ParamName
”,价值
)
A = dataset('XPTFile',xptfilename
,'ParamName
”,价值
)
描述
A = dataset(
创建数据集数组varspec
,'ParamName
”,价值
)一个
使用工作区变量输入方法varspec
和一个或多个可选的名称/值对(参见参数名称/值对)。
输入法varspec
可以是以下一个或多个:
VAR
—工作空间变量。数据集
中的变量名称使用工作区名称一个
.若要包含多个变量,请指定VAR_1
,VAR_2
、……VAR_N
.变量可以是任意大小的数组,但所有变量的行数必须相同。VAR
也可以是表达式。在这种情况下,数据集
自动创建默认名称。{
VAR
,的名字
} -一个工作区变量,VAR
还有一个变量名,的名字
.数据集
使用的名字
作为变量名。要包含多个变量和名称,请指定{VAR_1
,name_1
}, {VAR_2
,name_2
},……, {VAR_N
,name_N
}。{
VAR
,name_1
,...
,name_m
} - an米-列工作空间变量,VAR
.数据集
使用名称name_1
,...
,name_m
变量名。中的每一列都必须包含名称VAR
.中的每一列都成为单独的变量一个
.
您可以组合这些输入方法来包含所需的任意数量的变量和名称。名称必须是有效的、唯一的MATLAB标识符。有关输入组合的示例,请参见示例。有关可选的名称/值对,请参阅输入。
要将数字数组、单元格数组、结构数组或表转换为数据集数组,还可以使用(分别):
请注意
数据集数组可以包含内置类型或数组对象作为变量。数组对象必须实现以下每一个:
标准的MATLAB圆括号索引的形式
var(我…)
,在那里我
数值向量还是逻辑向量对应于变量的行一个
大小
方法。昏暗的
论点一个
vertcat
方法
A = dataset('文件',
创建数据集数组文件名
,'ParamName
”,价值
)一个
属性指定的文本文件中的面向列数据文件名
.变量一个
类型双
如果在列标题后面的文件对应列中的数据完全是数字;否则变量一个
是字符向量的单元格数组。数据集
将空字段转换为任意一个南
(用于数值变量)或空字符向量(用于字符值变量)。数据集
忽略文件中无关紧要的空白。不能同时指定文件变量和工作空间变量作为输入。有关更多信息,请参阅名称/值对。
A = dataset('XLSFile',
创建数据集数组文件名
,'ParamName
”,价值
)一个
从Excel中面向列的数据®指定的电子表格文件名
.变量一个
类型双
如果在电子表格的相应列中,列标题后面的数据完全是数字;否则变量一个
是字符向量的单元格数组。有关更多信息,请参阅名称/值对。
A = dataset('XPTFile',
从SAS创建数据集数组®XPORT格式文件。XPORT格式文件中的变量名被保留。XPORT格式文件中的数字数据类型将被保留,但所有其他数据类型将被转换为字符向量的单元格数组。XPORT格式允许28种缺失的数据类型。xptfilename
,'ParamName
”,价值
)数据集
在文件中用大写字母表示这些,“。”
或“_”
.数据集
将所有缺失的数据转换为南
值一个
.有关更多信息,请参阅名称/值对。
参数名称/值对
在构造数据集时指定一个或多个以下名称/值对:
|
字符串数组或单元格数组 |
|
字符串数组或单元格数组 |
使用文本文件作为输入时可用的名称/值对:
|
字符向量或字符串标量,指示文件中分隔列的字符。值是
|
|
格式字符向量或字符串标量,由 |
|
数值,指示在文件开头要跳过的行数。 默认值: |
|
指定在数值列中作为空字符向量处理的字符。值可以是字符数组、字符串数组或字符向量的单元格数组。该参数仅应用于文件中的数字列; |
使用文本文件或Excel电子表格作为输入时可用的名称/值对:
|
一个逻辑值,指示是否( |
|
一个逻辑值,指示是否( 当从 |
使用Excel电子表格作为输入时可用的名称/值对:
|
类型的正标量值 |
|
该形式的字符向量或字符串标量 |
例子
从工作区变量创建一个数据集数组,包括观察名称:
卡路里,蛋白质,脂肪,钠,纤维,碳水化合物,…糖类,'ObsNames',名称)谷物。属性。vardescription =变量(4:10,2);
从一个单一的、多列的工作区变量创建一个数据集数组,为每一列指定变量名:
加载城市类别= cellstr(类别);城市= dataset({评级,类别{:}},…ObsNames, cellstr(名字))
从文本或电子表格文件加载数据
patients = dataset('File','hospital.dat',…'Delimiter',',','ReadObsNames',true) patients2 = dataset('XLSFile','hospital.xls',…“ReadObsNames”,真的)
从CSV文件加载患者数据
hospital.dat
并将信息存储在数据集
由数据的第一列给出观察名称的数组(患者识别):Patients = dataset('file','hospital.dat',…“格式”、“% s % s % s % % % f % f % % % f % f % f ',…“分隔符”、“,”、“ReadObsNames”,真正的);
也可以在不指定格式的情况下加载数据。
数据集
会自动创建数据集
变量是双
字符向量的数组或单元格数组,取决于文件的内容:Patients = dataset('file','hospital.dat',…“分隔符”、“,”,…“ReadObsNames”,真正的);
创建值为{0,1}的变量
烟
标称,并将标签更改为“不”
而且“是的”
:病人。烟= nominal(patients.smoke,{'No','Yes'});
添加新级别到
烟
作为更详细的吸烟者历史的占位符:病人。烟= addlevels(patients.smoke,... {'0-5 Years','5-10 Years','LongTerm'});
假设不吸烟者从不吸烟,重新贴上标签
“不”
水平:病人。烟= setlabels(patients.smoke,'Never','No');
放弃未分化
“是的”
级别从烟
:病人。烟= droplevels(patients.smoke,'Yes');
注意,吸烟者现在有一个未定义的水平。
根据观察名称,将每个吸烟者设置为一个新的水平:
patients.smoke('YPL-320') = '5-10年';
版本历史
在R2007a中引入