Main Content

清洗缺失数据

在实时编辑器中查找、填充或删除缺失数据

说明

清洗缺失数据任务允许您以交互方式处理缺失数据值,如 NaN<missing>。该任务会自动为您的实时脚本生成 MATLAB® 代码。

使用此任务,您可以:

  • 查找、填充或删除工作区变量中的缺失数据。

  • 自定义填充数据的方法。

  • 定义非标准缺失值指示符。

  • 可视化缺失数据和清洗后的数据。

相关函数

清洗缺失数据生成使用 ismissingstandardizeMissingfillmissingrmmissing 函数的代码。

Clean Missing Data task in the Live Editor

打开任务

要在 MATLAB 编辑器中将清洗缺失数据任务添加到实时脚本中,请执行以下操作:

  • 实时编辑器选项卡上,选择任务 > 清洗缺失数据

  • 在脚本的代码块中,键入相关关键字,例如 missingNaNfillremove。从建议的命令自动填充项中选择清洗缺失数据。对于某些关键字,任务会自动更新一个或多个对应的参数。

示例

全部展开

以交互方式填充非均匀采样数据中的缺失值。

创建非均匀采样点向量,并计算在这些点上的正弦函数值。

x = [-4*pi:0.1:0 0.1:0.2:4*pi];
A = sin(x);

将缺失值插入 A 中。

A(A < 0.75 & A > 0.5) = missing;

在实时编辑器中打开“清洗缺失数据”任务。要清洗数据,请选择 A 作为输入数据,选择 x 作为数据的 x 轴坐标。

“清洗缺失数据”任务可以填充或删除缺失数据。要使用相邻非缺失值的线性插值来填充缺失条目,请使用清洗方法字段选择 Fill missingLinear interpolation

该任务绘制清洗后的数据,并指示线性插值填充了输入数据中的 21 个缺失条目。

由于默认图例位置会覆盖一些填充的缺失条目,请将图例位置指定为坐标区的右上角之外。

Live Task
legend("Location","northeastoutside")

Figure contains an axes object. The axes object with title Number of filled missing entries: 21, xlabel x contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Cleaned data, Filled missing entries.

相关示例

参数

全部展开

此任务对包含在向量、表或时间表中的输入数据进行操作。数据类型可以是 singledoubledurationcalendarDurationdatetimecategoricalstringchar,或 cell 类型的字符向量数组。

为输入数据提供表或时间表时,请选择所有支持变量以清洗所有具有支持类型的变量。选择所有数值变量可清洗 singledouble 类型的所有变量。要选择要清洗的特定支持变量,请选择指定的变量,然后单独选择各所需变量。

将填充缺失数据的方法指定为以下选项之一。

方法描述
线性插值基于相邻的非缺失值进行线性插值
常量值指定的标量值,默认为 0
上一个值上一个非缺失值
下一个值下一个非缺失值
最接近值x 轴定义的最接近的非缺失值
样条插值分段三次样条插值
保形三次插值(PCHIP)保形分段三次样条插值
修正 Akima 三次插值修正 Akima 三次 Hermite 插值
移动中位数具有指定窗口大小的移动中位数
移动均值具有指定窗口大小的移动均值
K 最近邻由距离函数定义的最近邻的均值
自定义函数自定义填充方法,指定为局部函数或函数句柄

当填充缺失数据的方法是移动中位数移动均值时,指定窗口类型和大小。

窗口描述
居中指定的窗口长度以当前点为中心
不对称指定的窗口包含当前点之前的元素数和当前点之后的元素数

窗口大小相对于 X 轴变量单位。

版本历史记录

在 R2019b 中推出

全部展开