在 MATLAB 中定义表的导入选项
在本教程中,我们将在 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 中表的导入选项相关的所有概念。