主要内容

填充

填补缺失的值

描述

例子

F= fillmissing(一种,'持续的',V.填充缺少数组或表的缺失条目,持续值V.。如果一种是矩阵或多维数组,然后是V.可以是标量或向量。什么时候V.是一个矢量,每个元素指定相应列中的填充值一种。如果一种是一个表或时间表,然后V.也可以是一个单元阵列。

缺少值根据数据类型定义一种

  • -双倍的单身的期间, 和日历

  • -约会时间

  • < >失踪-细绳

  • <未定义>-分类

  • ''-char

  • {''}-细胞字符阵列

如果一种是一个表,那么每列的数据类型定义该列的缺失值。

例子

F= fillmissing(一种方法使用由指定的方法填充缺少的条目方法。例如,Fillmissing(A,'之前')使用以前的非缺少条目填充缺失的条目一种

例子

F= fillmissing(一种movmethod.窗户使用移动窗口或中位数填充缺失的条目,窗口长度窗户。例如,Fillmissing(A,'Movemean',5)使用窗口长度为5的移动平均线填充数据。

例子

F= fillmissing(___暗淡指定维度一种运作。默认情况下,填充沿着尺寸不等于的第一维操作。例如,如果一种是一个矩阵填充(A,2)在列中运行一种,填充缺失的数据行行按行。

例子

F= fillmissing(___名称,价值指定使用一个或多个名称值对参数填充缺少缺失值的其他参数。例如,如果T.那是时间值的矢量,然后填充(a,'线性','samplepoints',t)插入数据一种相对于时间T.

例子

[FTF.] =填充(___另外还返回对应于条目的逻辑阵列一种那是填补的。

例子

全部收缩

创建一个包含的向量值并替换每个以前的非缺失值。

a = [1 3 naN 4 nan nan 5];f = fillmissing(a,'以前的'
f =1×7.1 3 3 4 4 4 5

使用插值替换非均匀采样数据中的值。

定义一个非均匀采样点的向量,并在这些点上计算正弦函数。

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

注入价值观一种

a(<0.75&a> 0.5)= nan;

使用线性插值填充缺失的数据,并返回填充的向量F和逻辑向量TF.。值1(真的)的条目TF.对应于值F那是填补的。

[f,tf] =填充(a,'线性''samplepoints', x);

绘制原始数据和填充数据。

绘图(x,a,'。',x(tf),f(tf),“o”)Xlabel('X');ylabel('sin(x)') 传奇('原始数据''充满了缺失的数据'

使用移动中值来填充丢失的数字数据。

创建样本点的向量X和数据矢量一种其中包含缺失的值。

x = Linspace(0,10,200);a = sin(x)+ 0.5 *(rand(尺寸(x)) -  0.5);a([1:10 RANDI([1长度(x)],1,50)])= nan;

代替价值一种使用带有长度10窗口的移动中位数,并绘制原始数据和填充数据。

f = fillmissing(a,'movmedian',10);绘图(x,f,'r.-',x,a,'B.-') 传奇('充满了缺失的数据''原始数据'

使用线性插值一次创建具有缺失条目的矩阵并填充列(第二维度)一行一行。对于每行,填充带有最接近的非缺失值的前导和尾随缺失值。

a = [纳米5 3纳米5 7 nan 9 nan;8 9 NaN 1 4 5 NaN 5 NaN 5;NaN 4 9 8 7 2 4 1 1 NaN]
A =3×10NaN NaN 5 3 NaN 5 7 NaN 9 NaN 8 9 NaN 1 4 5 NaN 5 NaN 5 NaN 4 9 8 7 2 4 1 1 NaN
f = fillmissing(a,'线性'2,'endvalues''最近'
f =3×105 5 5 3 4 5 7 8 9 9 8 9 5 1 4 5 5 5 5 5 4 4 9 8 7 2 4 1 1 1

使用不同的数据类型填充表变量的缺失值。

创建一个变量包括的表分类双倍的, 和char数据类型。

a =表(分类({'晴朗';'多云的';''}),[66; nan; 54],{'';'n';'是'},[37; 39; nan],......'variablenames',{'描述''温度''雨''湿度'})
A =3×4表描述温度雨湿度___________ ___________ ___________________________0 char} 37阴天NaN {'n'} 39 <未定义> 54 {'y'} nan

将所有缺失的条目替换为从上一个条目中的值。由于没有以前的元素变量,丢失的字符向量未被替换。

f = fillmissing(a,'以前的'
f =3×4表描述温度雨湿度___________ ___________ _________________________0x___0x_0 char} 37阴天66 {'n'} 39阴天54 {'y'} 39

更换来自的价值温度湿度变量in.一种0。

f = fillmissing(a,'持续的',0,'datavariables',{'温度''湿度'})
f =3×4表描述温度雨湿度___________ ___________ _____________________________0 char} 37阴天0 {'n'} 39 <未定义> 54 {'y'} 0

或者,使用isnumeric.函数识别数字变量进行操作。

f = fillmissing(a,'持续的',0,'datavariables',@ isnumeric)
f =3×4表描述温度雨湿度___________ ___________ _____________________________0 char} 37阴天0 {'n'} 39 <未定义> 54 {'y'} 0

输入参数

全部收缩

输入数据,指定为向量,矩阵,多维数组,表或时间表。

如果一种是时间表,然后只填充表值。如果相关的行时间向量包含一个要么那么填充产生错误。行时间必须是唯一的,并以升序列出。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑|char|细绳|细胞|桌子|时间表|分类|约会时间|期间|日历

填充常量,指定为标量,向量或单元格数组。V.可以是矢量何时一种是矩阵或多维阵列。V.可以是一个小区数组一种是一个表或时间表。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑|char|细胞|分类|约会时间|期间

填充方法,指定为以下之一:

方法 描述
'以前的' 以前的非缺失值
'下一个' 下一个非缺失值
'最近' 最近的非缺失值
'线性' 相邻,非缺失值的线性插值(数字,期间, 和约会时间数据类型)
'样条曲线' 分段立方样条插值(数字,期间, 和约会时间数据类型)
'pchip' 形状保留分段立方样条插值(数字,期间, 和约会时间数据类型)
'makima' 修改Akima立方Hermite插值(数字,期间, 和约会时间数据类型)

移动方法填充缺失数据,指定为以下之一:

方法 描述
'movmean' 在长度窗口上移动平均水平窗户(仅限数字数据类型)
'movmedian' 在长度窗口上移动中位数窗户(仅限数字数据类型)

窗口长度,指定为正整数标量,正整数的两个元素矢量,正持续时间标量或正持续时间的两个元素矢量。

什么时候窗户是一个正整数标量,然后窗口以当前元素为中心,并包含窗口1邻居元素。如果窗户甚至,窗口符合当前和以前的元素。如果窗户是正整数的两个元素矢量[b f],然后窗口包含当前元素,B.元素向后,和F元素前进。

什么时候一种是时间表或'samplepoints'被指定为一个约会时间要么期间向量,窗户必须是类型期间,并且窗口相对于采样点计算。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|期间

维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。

什么时候一种是一个表或时间表,暗淡不受支持。金宝app填充沿每个表或时间可变分别操作。

考虑二维输入数组,一种

  • 如果昏暗= 1, 然后填充填充一种按列列。

  • 如果昏暗= 2, 然后填充填充一种行按行。

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:Fillmissing(A,'Datavariables',{'温度','高度'})仅填充对应的列温度高度输入表的变量

处理端点的方法,指定为逗号分隔的配对组成'endvalues'一之一'extrap''以前的''下一个''最近''没有任何',或恒定的标量值。端点填充方法根据以下定义处理引导和尾随缺失值:

方法 描述
'extrap' 如同方法
'以前的' 以前的非缺失值
'下一个' 下一个非缺失值
'最近' 最近的非缺失值
'没有任何' 没有填充值
标量子 恒定值(数字,期间, 和约会时间数据类型)

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑|约会时间|期间

填充方法的采样点,指定为逗号分隔的对组成'samplepoints'和矢量。采样点代表数据的位置一种,并且必须排序并包含唯一的元素。样品点不需要均匀采样。如果一种是时间表,然后默认采样点向量是行时间的向量。否则,默认向量是[1 2 3 ...]

移动窗口相对于采样点定义。例如,如果T.是与输入数据相对应的时间的矢量Fillmissing(兰特(1,10),'movmean',3,'samplepoints',t)有一个代表之间的时间间隔的窗口T(i)-1.5T(i)+1.5

当样本点向量具有数据类型时约会时间要么期间,然后移动窗口长度必须具有类型期间

当输入数据是时间表时,不支持此名称-值对。金宝app

数据类型:双倍的|单身的|约会时间|期间

表变量填充,指定为逗号分隔对组成'datavariables'和变量名,变量名称的单元阵列,数字矢量,逻辑向量,函数句柄或表格vartype.下标。这'datavariables'值表示要填充的输入表的哪一列,并且可以是以下之一:

  • 指定单表变量名称的字符矢量

  • 每个元素是表变量名称的一个字符向量的单元格数组

  • 表可变指数的矢量

  • 逻辑向量,其每个元素对应一个表变量,其中真的包括相应的变量和错误的不包括它

  • 返回逻辑标量的函数句柄,例如@Isnumeric.

  • 一张桌子vartype.下标

例子:'年龄'

例子:{“高度”,“体重”}

例子:@iscategorical

例子:vartype('numeric')

已知的缺失指示符,指定为逗号分隔对组成'遗漏'和相同尺寸的逻辑向量,矩阵或多维阵列一种。指示元件可以是真的表示相应位置的缺失值一种要么错误的否则。

数据类型:逻辑

填充最大间隙大小,指定为数字标量,期间标量,或者日历标量。间隙是连续缺失值的簇,其大小是间隙周围未缺失值之间的距离。间隙大小以相对于样本点的单位计算。小于或等于最大间隙大小的间隙被填充,大于间隙大小的间隙不被填充。

例如,考虑向量Y = [25南纳100]使用默认采样点[1 2 3 4]。矢量中的间隙大小从样本点计算4 - 1 = 3,所以A.maxgap.的价值2留下缺失的值,而amaxgap.的价值3.填充缺失的值。

对于数据的开头或结尾的缺失值:

  • 输入数据末尾的单个缺失值具有0的间隙大小,始终填充。

  • 在输入数据的开头或结尾处发生的缺失值的集群不完全由非缺失值包围,因此使用最近的现有样本点计算间隙大小。对于默认采样点1:n ..,这产生的间隙大小比在数据中间发生的相同群集时比相同的间隙大小。

输出参数

全部收缩

填充数据,作为向量,矩阵,多维数组,表或时间表返回。F与尺寸相同一种

数据类型:双倍的|单身的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64|逻辑|char|细绳|细胞|桌子|时间表|分类|约会时间|期间|日历

填充数据指示符,返回为向量,矩阵或多维数组。TF.是一个逻辑阵列,其中1(真的)对应于参赛作用F填满了0(错误的)对应于不变的条目。TF.与尺寸相同一种F

数据类型:逻辑

扩展能力

介绍在R2016B.