在MATLAB中定义表的导入选项
在本教程中,我们将定义MATLAB中表的各种导入选项。导入选项允许我们将数据导入表或其他数据格式中。例如,我们可以使用该选项将给定的电子表格文件”sample.xlsx”中的数据读取到MATLAB中以表的形式。
通过使用导入选项,我们可以打开指定的文件,选择所需的输出格式和日期范围,然后保存我们的选择。点击”导入选择”选项后,指定的数据可以轻松集成到MATLAB工作区中。
此外,列数据不仅可以被导入MATLAB工作区,还可以被导入SimBiology模型分析器应用程序。这个多功能选项支持各种文件扩展名,包括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# Imran10
{'1003'} AI Taabish 10
{'1004'} Public Speak Dragana10
{'1005'} Psychology Vikash 10
{'1006'} ChatGPT Nfada10
{'1007'} Focus 5 Ram 10
{'1008'} Finance CA N Raja10
{'1009'} English Dava 10
{'1010'} Money Matters CA N Raja10
结论
这就是关于在MATLAB中定义表格导入选项的全部内容。在本教程中,我们涵盖了与在MATLAB中导入表格相关的所有概念。