主要内容

从文件创建数据集数组

笔记

数据集建议不要数据类型。要使用异构数据,请使用matlab®表格数据类型。看到MATLAB表格文档以获取更多信息。

从制表符分隔的文本文件创建数据集数组

这个示例演示了如何从以制表符分隔的文本文件的内容创建数据集数组。

使用默认设置创建数据集数组。

导入文本文件hospitalSmall.txt使用默认设置作为数据集数组。

ds = dataset('文件'fullfile (matlabroot'帮助/工具箱/统计/示例'“hospitalSmall.txt”))

DS =名称性年龄WGT Smoke'史密斯'38 176 1'Johnson'M'33 163 0'Williams'F'38 131 0'Jones''20 133 0'Brown'F'49119 0'Davis''f'46 142 0'Miller''F'33 142 1'Wilson'M'40 180 0'Moore'M'28 183 0'Taylor'113132 0'Anderson''F'45 128 0'Thomas'f'22 137 0'Jackson'25 174 0'HIKE''M'39 202 1

默认情况下,数据集使用文本文件的第一行作为变量名。如果第一行不包含变量名,可以指定可选的名称-值对参数'readvarnames',false更改默认行为。

数据集数组包含异构变量。的变量id姓名,性别是字符向量的单元格数组,其他变量为数字。

对数据集数组进行总结。

您可以通过使用概括总结数据集数组。

摘要(DS)
名称:[14 x1单元阵列特征向量)性:[14 x1单元阵列特征向量)年龄:[14 x1双]最小第1四分位值第三四分位数最大25 33 39.5 43 49重量:[14 x1双]最小第1四分位值第三四分位数最大119 132 142 176 202烟:[14 x1双]最小第1四分位值第三四分位数最大0 0 0 0 1

导入观察名称。

再次导入文本文件,这次指定第一列包含观察名称。

ds = dataset('文件'fullfile (matlabroot'帮助/工具箱/统计/示例'“hospitalSmall.txt”),“ReadObsNames”,真的)
DS =性时代WGT Smoke Smith'M'38 176 1 Johnson'M'33 163 0 Williams'F'38 131 0 Jones'F'40 133 0 Brown'F'49 119 0 Davis'F'46 142 0米勒'F'33 142 1 Wilson'm'40 180 0 Moore'M'28 183 0 Taylor'F'31 132 0 Anderson'F'45 128 0 Thomas'F'22 137 0杰克逊'M'25 174 0 White'M'M'39 202 1

文本文件中第一列的元素(姓氏)现在是观察名。观察名称和行名称是数据集数组属性。您总是可以通过修改属性来添加或更改现有数据集数组的观察名称ObsNames

更改数据集数组属性。

默认情况下,DimNames属性的姓名作为观察(行)维度的描述符。数据集从文本文件中的第一行中获取此名称。

的第一个元素DimNames

ds.Properties。DimNames {1} ='姓';ds。属性
ans = description:''vardescription:{}单位:{} dimmnames:{'lastname''} userdata:[] obsnames:{14x1 cell} varnames:{'性'年龄''wgt''smoke'}

索引到数据集数组中。

您可以使用观察名称索引到数据集数组中。例如,用姓氏返回患者的数据棕色的

ds ('棕色的',:)
ans =性时代wgt烟棕色'f'49 119 0

请注意,观察名称必须是唯一的。

从逗号分隔的文本文件创建数据集数组

这个示例演示如何从逗号分隔的文本文件的内容创建数据集数组。

创建数据集数组。

导入文件hospitalSmall.csv作为数据集数组,指定以逗号分隔的格式。

ds = dataset('文件'fullfile (matlabroot'帮助/工具箱/统计/示例''hospitalsmall.csv'),'delimiter'”、“
DS = ID名称性年龄WGT Smoke'YPL-320''史密斯''M'38 176 1'Gli-532''Johnson'M'43 163 0'PNI-258''威廉姆斯'F'38 131 0'Mij-579''jones''f'40 133 0'XLK-030''Brown''f'49 119 0'TFP-518''Davis''f'46 142 0'LPD-746''Miller''f'33 142 1'ATA-945''威尔逊'M'40 180 0'VNL-702''Moore'M'28 183 0'LQW-768''泰勒'F'31 132 0'QFY-472''Anderson''F'5 128 0'UJG-627''Thomas'F'22 137 0'Xue-826''jackson'm'25 174 0'TrW-072''白色'的m'39 202 1

默认情况下,数据集使用文本文件中的第一行作为变量名。

添加观察名称。

在变量中使用唯一标识符id作为观察的名字。然后,删除变量id从数据集数组。

ds.properties.obsnames = ds.id;ds.id = []
DS =名称性年龄WGT烟雾YPL-320'Smith''M'38 176 1 Gli-532'Johnson'M'33 163 0 PNI-258'Wiliams''f'38 131 0 Mij-579'Jones''F'40 133 0 XLK-030'BYRGE''F'49 119 0 TFP-518'DAVIS''F'46 142 0 LPD-746'MILLER'F'33 142 1 ATA-945'威尔逊'M'40 180 0 VNL-702'Moore'M'28 183 0 LQW-768'泰勒'F'31 132 0 QFY-472'Anderson''F'5 128 0 UJG-627'Thomas'F'22 1370 Xue-826'杰克逊'M'25 174 0 TRW-072'HITLE''M'39 202 1

删除观察。

删除任何姓氏的患者棕色的。您可以使用比较字符串匹配'棕色的'使用包含姓氏的变量的元素,姓名

todelete = strcmp(ds.name,'棕色的');DS(todelete,:) = []
ds =姓名性别年龄重量烟ypl - 320“史密斯”“m”38 176 1 gli - 532“约翰逊”“m”43 163 0句- 258”威廉姆斯的38 131 0 mij - 579 f的琼斯的“f”40 133 0 tfp - 518“戴维斯”“f”46 142 0 lpd - 746“米勒”“f”33 142 1 ata - 945“威尔逊”“m”40 180 0 vnl - 702“摩尔”“m”28 183 0 lqw - 768“泰勒”“f”31日132 0 qfy - 472“安德森”“f”45 128 0 ujg - 627“托马斯”“f”42 137 0 XUE-826 'JACKSON' 'm' 25 174 0 TRW-072 'WHITE' 'm' 39 202 1

有一个患者姓氏棕色的从数据集数组中删除。

返回DataSet数组的大小。

该阵列现在有13个观测结果。

大小(ds)
Ans = 13 5

请注意,分别对应于变量和观察名称的行和列不包括在A的大小中数据集数组中。

从一个创建一个数据集数组excel.文件

此示例显示如何从Excel的内容创建DataSet数组®电子表格文件。

创建数据集数组。

从文件中的第一个工作表导入数据hospitalSmall.xlsx,指定数据文件是Excel电子表格。

ds = dataset(“XLSFile”fullfile (matlabroot'帮助/工具箱/统计/示例''hospitalsmall.xlsx'))
DS = ID名称性年龄WGT Smoke'YPL-320''史密斯''M'38 176 1'Gli-532''Johnson'M'43 163 0'PNI-258''威廉姆斯'F'38 131 0'Mij-579''jones''f'40 133 0'XLK-030''Brown''f'49 119 0'TFP-518''Davis''f'46 142 0'LPD-746''Miller''f'33 142 1'ATA-945''威尔逊'M'40 180 0'VNL-702''Moore'M'28 183 0'LQW-768''泰勒'F'31 132 0'QFY-472''Anderson''F'5 128 0'UJG-627''Thomas'F'22 137 0'Xue-826''jackson'm'25 174 0'TrW-072''白色'的m'39 202 1

默认情况下,数据集使用电子表格中第一行的内容创建变量名。

指定要导入的工作表。

将第二个工作表中的数据导入新的数据集数组。

DS2 = DataSet(“XLSFile”fullfile (matlabroot'帮助/工具箱/统计/示例''hospitalsmall.xlsx'),“表”, 2)
DS2 = ID名称性年龄WGT Smoke'Trw-072''White''m'39 202 1'ELG-976''Harris'F'36 129 0'KOQ-996''Martin'M'48 181 1'yuz-646''thompson''m'22 191 1'XBR-291''Garcia'F'27 131 1'KPW-846''Martinez'M'37 179 0'XBA-581''罗宾逊''M'50 172 0'BKD-785''Clark''f'48 133 0

也可以看看

|

相关例子

更多关于