在 MATLAB 中定义表的导入选项

matlabdata analysisprogramming更新于 2024/11/14 20:28:00

在本教程中,我们将在 MATLAB 中定义表的各种导入选项。导入选项允许我们将数据导入表格或其他数据格式。例如,我们可以利用此选项将给定电子表格文件"sample.xlsx"中的数据以表格形式读入 MATLAB。

通过使用导入选项,我们可以打开指定的文件,选择所需的输出格式和日期范围,然后保存我们的选择。单击"导入选择"选项后,指定的数据可以轻松集成到 MATLAB 工作区中。

此外,表格数据不仅可以导入 MATLAB 工作区,还可以导入 SimBiology Model Analyzer 应用程序。此多功能选项支持多种文件扩展名,包括 Excel 文件 (.xls、.xlsx)、SAS XPORT 文件 (.xpt) 和文本文件 (.csv、.txt)。此外,我们还可以选择明确指出数据来源的文件格式。在整个导入过程中,将根据 NONMEM 定义解释列,以确保数据的准确对齐和表示。

在 MATLAB 中,要启动数据导入过程,请在"主页"选项卡的"变量"组中查找并选择"导入数据"选项。

或者,我们可以选择另一种方法,方法是右键单击当前文件夹浏览器中的文件名,然后选择"导入数据"选项。

在 MATLAB 中定义表的导入选项

在 MATLAB 中,导入表的过程涉及使用 MATLAB 中的内置函数"readtable"函数。但是,有些情况下需要对表格数据的数据导入过程进行更高程度的监督。例如,可能存在必须选择特定变量才能导入缺失或有问题数据的行的情况。

因此,为了控制导入过程,创建导入选项实体变得至关重要。可以更改此实体的属性以匹配数据导入过程的确切要求。

在 MATLAB 中创建导入选项

示例

在 MATLAB 中,要为名为"tutorialspointcourses.csv"的示例数据集创建导入选项,我们可以使用"detectImportOptions"函数。此函数创建一个与给定文本文件的特征一致的"DelimitedTextImportOptions"对象。

opts = detectImportOptions('tutorialspointcourses.csv');

自定义表级导入选项

在 MATLAB 中,可以修改导入选项对象的属性来控制导入过程。一些属性适用于整个表,而另一些属性适用于特定变量。与整个表相关的属性提供了管理缺失或有问题数据的规定。例如,可以使用 ImportErrorRule "省略行"来管理导致导入错误的错误数据。

示例

要替换任何缺失值,请将 MissingRule 指定为"填充"。FillValue 属性的值充当缺失值的替换。例如,NaN(非数字)可用于替换缺失的属性。

opts.ImportErrorRule = 'omitrow';
opts.MissingRule = 'fill';

自定义变量级导入选项

示例

要访问和配置特定变量的选项,我们可以使用内置函数"getvaropts"、"setvartype"和"setvaropts"。例如,要查看适用于变量"CourseID"、"CourseName"、"Tutor"和"CourseFee"的当前选项,请使用 getvaropts 函数。

getvaropts(opts,{'CourseID', 'CourseName', 'Tutor', 'CourseFee'});

示例

我们可以使用"setvartype"函数来更改变量的数据类型。例如,将变量"CourseID"、"CourseName"和"Tutor"的数据类型更改为"char",因为它们的值可能不是数字。

opts = setvartype(opts,{'CourseID', 'CourseName', 'Tutor', 'CourseFee'}, {'char', 'char', 'char', 'double'});

要更改对象的其他属性,我们可以使用"setvaropts"函数。

例如,对于"CourseID"变量,通过将"WhiteSpaceRule"属性分配给"trimleading",从文本中删除任何前面的空格。

示例

对于"CourseFee"变量,通过配置"TreatAsMissing"属性,使用"FillValue"属性中的指定值填充包含 0 或 NA 的字段。

opts = setvaropts(opts, 'CourseID', 'WhitespaceRule', 'trimleading');
opts = setvaropts(opts, 'CourseFee', 'TreatAsMissing', {'0', 'NA'});

导入并显示表格

示例

最后,在指定所需变量并使用"readtable"函数导入表格后,显示表格的前 10 行。

opts.SelectedVariableNames = {'CourseID', 'CourseName', 'Tutor', 'CourseFee'}; 
T = readtable('tutorialspointcourses.csv', opts);
T(1:10, :)

输出

ans = 10×4 table
CourseID		CourseName	Tutor		CourseFee
_________		___________	______	        _________
{'1001'}		MATLAB		Manish	        $10
{'1002'}		C#		Imran		$10
{'1003'}		AI		Taabish	        $10
{'1004'}		Public Speak	Dragana	        $10
{'1005'}		Psychology	Vikash	        $10
{'1006'}		ChatGPT		Nfada		$10
{'1007'}		Focus 5		Ram		$10
{'1008'}		Finance		CA N Raja	$10
{'1009'}		English		Dava		$10
{'1010'}		Money Matters	CA N Raja	$10

结论

这就是在 MATLAB 中定义表的导入选项的全部内容。在本教程中,我们介绍了与 MATLAB 中表的导入选项相关的所有概念。


相关文章