主要内容

fillmissing

填补缺失值

描述

例子

F= fillmissing (一个“常数”,v)填充缺失的条目数组或表的常数值v。如果一个是一个矩阵或多维数组,然后呢v可以是一个标量或矢量。如果v是一个矢量,然后每个元素指定了填补相应的列的值一个。如果一个是一个表或时间表吗v也可以是单元阵列的元素包含填补值为每个表变量。

缺失值定义的数据类型一个:

  • - - - - - -,,持续时间,calendarDuration

  • NaT- - - - - -datetime

  • <失踪>- - - - - -字符串

  • <定义>- - - - - -分类

  • {"}- - - - - -细胞特征向量

如果一个是一个表,然后每一列的数据类型定义的缺失值列。

例子

F= fillmissing (一个,方法)使用指定的方法填充缺失的条目方法。例如,fillmissing (A,“之前”)与以前的常数项填充缺失的条目一个

例子

F= fillmissing (一个,movmethod,窗口)填充缺失的条目使用移动窗口的意思或中值与窗口长度窗口。例如,fillmissing (“movmean”, 5)填充数据与移动意味着使用一个窗口的长度5。

例子

F= fillmissing (一个,fillfun,gapwindow)填补空白的失踪条目使用自定义指定一个函数处理方法fillfun和一个固定的窗口周围的每个缺口的填补值计算。fillfun必须输入参数xs,ts,tq操作,包含示例数据的向量xs的长度gapwindow样本数据的位置ts的长度gapwindow,缺失数据的位置tq操作。的位置tstq操作采样点向量的一个子集。

例子

F= fillmissing (___,昏暗的)指定的尺寸一个除了任何操作的输入参数组合在以前的语法。默认情况下,fillmissing沿着第一个维度,其经营规模不等于1。例如,如果一个是一个矩阵,然后呢fillmissing (2)操作的列一个逐行,填补缺失的数据。

例子

F= fillmissing (___,名称,值)指定其他参数为填补缺失值使用一个或多个名称参数。例如,如果t时间值是一个矢量,然后呢fillmissing (A,“线性”,“SamplePoints”, t)插入的数据一个相对于《纽约时报》t

例子

(F,特遣部队)= fillmissing (___)返回一个逻辑数组特遣部队表明了条目的位置F以前失踪。

例子

全部折叠

创建一个向量,其中包含值,和替换与以前的常数的值。

一个=[1 3南4南南5];F = fillmissing (,“以前”)
F =1×71 3 3 4 4 4 5

创建一个2×2矩阵在每一列的值。填满One hundred.在第一列和1000年在第二列中。

一个=[1南;南2]
一个=2×21南南2
F = fillmissing (,“不变”1000年[100])
F =2×21 1000 100 2

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

定义一个向量的非均匀采样点和评估正弦函数在点。

:0 x = [4 * pi: 0.1, 0.1:0.2:4 *π);一个= sin (x);

注入值到一个

一个(< 0.75 & > 0.5)=南;

使用线性插值填补缺失的数据,并返回了向量F和逻辑向量特遣部队。值1 (真正的)的条目特遣部队对应的值F吃饱了。

(F, TF) = fillmissing (,“线性”,“SamplePoints”,x);

画出原始数据和填充数据。

散射(x)散射(x (TF), F (TF))传说(“原始数据”,填充数据的)

图包含一个坐标轴对象。坐标轴对象包含2散射类型的对象。这些对象代表原始数据,填充数据。

使用一个移动的位数来填补缺失的数字数据。

创建一个采样点的向量x和一个向量的数据一个含有缺失值。

x = linspace (0, 10200);= sin (x) + 0.5 *(兰德(-0.5尺寸(x)));([1:10兰迪([1长度(x)], 1 50))) =南;

取代一个使用一个移动平均的窗口长度,和情节原始数据和填充数据。

F = fillmissing (,“movmedian”10);情节(x, F,“。”)举行情节(x,,“。”)传说(“原始数据”,填充数据的)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表原始数据,填充数据。

定义一个自定义函数值常数与以前的值。

定义一个向量的抽样点t和一个向量的对应数据一个包含值。图数据。

t = 10:10:100;=(0.9 0.6 - 0.7 0.1 0.2 0.3南南南1];散射(t)

图包含一个坐标轴对象。坐标轴对象包含一个散射类型的对象。

使用当地的函数forwardfill(定义的例子)常数与前面的填补缺失的空白值。函数处理的输入包括:

  • xs——数据值用于填充

  • ts-位置的值用于充填相对于采样点

  • tq操作——失踪的值相对于采样点的位置

  • n-值的数量来填补缺口

n = 2;gapwindow = (10 0);(F, TF) = fillmissing (A, @ (xs, ts, tq) forwardfill (xs, ts, tq, n), gapwindow,“SamplePoints”t);

窗口值的差距(10 0)告诉fillmissing失踪前需要考虑的一个数据点差距,没有数据点后,由于之前的常数的值是位于前10个单位的差距。函数处理输入值决定fillmissing第一的差距是:

  • x = 0.3

  • ts = 30

  • tq = 50 [40]

第二个缺口的处理函数的输入值是:

  • x = 0.7

  • ts = 70

  • tq = 80

画出原始数据和填充数据。

散射(t)散射(t (TF), F (TF))

图包含一个坐标轴对象。坐标轴对象包含2散射类型的对象。

函数ts, y = forwardfill (xs tq, n)%填补n值缺失的空白之前使用常数的值y =南(1,元素个数(tq));y (1: min(元素个数(tq), n)) = x;结束

创建一个矩阵与失踪的条目(第二维度)和填列一行一次使用线性插值。对于每一行,前导和尾随缺失值填充的常数的价值这一行。

= (NaN南5 3南5 7南9南;8 9南1 4 5南南5;南4 9 8 7 2 4 1 1南]
一个=3×10南南5 3南5 7南9南8 9南1 4 5南南5南南4 9 8 7 2 4 1 1
F = fillmissing (,“线性”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

填补缺失值表变量与不同的数据类型。

创建一个表包括的变量分类,,字符数据类型。

一个=表(分类({“阳光”;“多云”;}),66;南;54){;“N”;“Y”},[37;39;南),“VariableNames”,{“描述”“温度”“雨”“湿度”})
一个=3×4表描述温度雨湿度___________ ___________ __________ ________阳光66 {0 x0 char} 37多云南{' N '} 39 <定义> 54 {Y} NaN

替换所有失踪的条目的值从之前的条目。由于没有前一个元素变量,失踪的特征向量并不是取代。

F = fillmissing (,“以前”)
F =3×4表描述温度雨湿度___________ ___________ __________ ________阳光66 {0 x0 char} 37多云66 {' N '} 39多云54 {Y} 39

取代温度湿度变量一个用0。

F = fillmissing (,“不变”0,“DataVariables”,{“温度”,“湿度”})
F =3×4表描述温度雨湿度___________ ___________ __________ ________阳光66 {0 x0 char} 37多云0 39 {' N '} <定义> 54 {Y} 0

另外,使用isnumeric函数来识别数字变量操作。

F = fillmissing (,“不变”0,“DataVariables”@isnumeric)
F =3×4表描述温度雨湿度___________ ___________ __________ ________阳光66 {0 x0 char} 37多云0 39 {' N '} <定义> 54 {Y} 0

现在填补缺失值一个与指定为每个表常数变量,这是包含在一个单元阵列中。

F = fillmissing (,“不变”,{分类({“没有”}),1000,“未知”1000})
F =3×4表描述温度雨湿度………………________阳光66{‘未知’}37多云1000 {' N '} 39没有54 1000 {Y}

创建一个时间向量t在几秒钟内和一个相应的矢量数据一个包含值。

t =秒([2 4 8 17 98 134 256 311 1001]);一个= 100年[1 3 23日南南南南233];

填补缺失值一个相对应的最大差距大小250秒。因为第二差距大于250秒,值不是填满。

F = fillmissing (,“线性”,“SamplePoints”t“MaxGap”秒(250))
F =1×91.0000 3.0000 23.0000 25.7944 233.0000 50.9435 62.1210 100.0000南

输入参数

全部折叠

输入数据,指定为一个向量,矩阵,多维数组,单元阵列的特征向量,表,或时间表。

  • 如果一个是一个时间表,然后只表值填充。如果相关的行乘以包含一个向量NaT值,然后fillmissing产生一个错误。行乘以必须独特而列按升序。

  • 如果一个是细胞与细胞数组变量、数组或一个表呢fillmissing只有填充缺失的元素,当细胞数组包含特征向量。

填补常数,指定为一个标量,矢量,或细胞数组。

  • 如果一个是一个矩阵或多维数组,然后呢v可以是一个向量表示一个不同的值为每个操作维度。的长度v必须匹配操作的长度尺寸。

  • 如果一个是一个表或时间表吗v可以填满值的单元阵列显示不同的填充每个变量值。细胞数组中元素的个数必须匹配表中变量的数量。

填补方法,指定这些值之一:

方法 描述
“以前” 以前的常数的值
“下一个” 下一个常数的值
“最近的” 常数的值
“线性” 邻近的线性插值,常数的值(数值,持续时间,datetime数据类型)
样条的 分段三次样条插值(数字,持续时间,datetime数据类型)
“pchip” 一种保形分段三次样条插值(数字,持续时间,datetime数据类型)
“makima” 修改Akima立方埃尔米特插值(数字,持续时间,datetime数据类型)

移动的方法来填补缺失数据,指定这些值之一:

方法 描述
“movmean” 移动平均的窗口长度窗口(仅数字数据类型)
“movmedian” 移动平均的窗口长度窗口(仅数字数据类型)

窗口长度为移动方法,指定为一个正整数标量,双元素向量的正整数,一个积极的标量时间,或一个双元素向量积极的持续时间。相对于采样点定义的窗口。

如果窗口是一个正整数标量,那么窗口集中当前元素和包含呢窗口1相邻的元素。如果窗口是偶数,那么窗口集中有关当前和以前的元素。

如果窗口是一个双元素向量的正整数f [b],那么窗口包含当前元素,b元素向后,f元素。

如果一个一个时间表或SamplePoints被指定为一个datetime持续时间向量,那么必须类型的窗口持续时间

例子:@ (xs, ts, tq) myfun (xs, ts, tq操作)

自定义填充方法,指定为一个函数处理。有效的处理函数必须包括以下三个输入参数:

输入参数 描述
xs 用于填充矢量包含数据值。的长度xs必须匹配指定窗口的长度。
ts 用于填充矢量包含位置的值。的长度ts必须匹配指定窗口的长度。ts是一个采样点的子集向量。
tq操作 向量含有缺失值的位置。tq操作是一个采样点的子集向量。

函数必须返回一个标量或矢量长度一样tq操作

空白窗口长度为自定义填充函数,指定为一个正整数标量,双元素向量的正整数,一个积极的标量时间,或一个双元素向量积极的持续时间。窗口定义相对于采样点的差距。

当指定一个函数处理fillfun填充方法的价值gapwindow代表一个固定窗长度,每个输入数据中的缺失值的差距。然后计算填充的值fillfun在那个窗口中使用的值。例如,对于默认的采样点t = 1:10和数据=(10 70南南南50 60 90 100],一个窗口长度gapwindow = 3指定第一个窗口的差距(20南南50)fillfun作用于计算填充的值。第二个窗口的差距fillfun操作是(90年70年南)

一个一个时间表或SamplePoints被指定为一个datetime持续时间向量,gapwindow必须的类型持续时间

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

考虑一个——- - - - - -n输入矩阵,一个:

  • fillmissing(方法1)填补缺失值根据每一列的数据一个并返回一个——- - - - - -n矩阵。

    fillmissing(方法1)列操作

  • fillmissing(方法2)填补缺失值根据每一行的数据一个并返回一个——- - - - - -n矩阵。

    一点fillmissing(方法2)行操作操作

对于输入的数据表或时间表,昏暗的不支持和操作变万博1manbetx量分别在每个表或时间表。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:fillmissing (T)方法,“SamplePoints”、“Var1”)

数据选项

全部折叠

采样点的采样点,指定为一个矢量值,或者其中一个选项在下表中输入数据时一个表。采样点表示x设在位置的数据,必须进行排序和含有独特的元素。采样点不需要均匀采样。向量(1 2 3…)是默认的。

当一个表输入数据时,您可以指定采样点作为一个表变量使用这些选项之一:

选择表的输入 描述 例子
变量名

一个特征向量或标量字符串指定单个表变量名

“Var1”

“Var1”

标量变量指数

一个标量变量索引表

3

逻辑向量

逻辑向量的每个元素对应一个表变量真正的指定相应的变量作为采样点,和所有其他元素

(真的假的假的)

函数处理

一个函数处理,表变量作为输入,并返回一个逻辑标量,必须真正的只有一个表变量

@isnumeric

vartype下标

表生成的下标vartype为只有一个函数,返回一个下标变量

vartype(数字)

请注意

这个名称参数输入数据时不支持万博1manbetx时间表。时间表使用行倍采样点的向量。要使用不同的采样点,您必须编辑的时间表,以便行乘以包含所需的采样点。

移动窗口定义相对于采样点。例如,如果t是一个向量乘以相应的输入数据,然后呢fillmissing(兰德(1 10)“movmean”, 3, SamplePoints, t)有一个窗口代表之间的时间间隔-1.5 t(我)t(我)+ 1.5

当采样点向量数据类型datetime持续时间,移动窗口长度必须有类型持续时间

例子:fillmissing([1南3 4],“线性”,“SamplePoints”, [1 2.5 3 4])

例子:fillmissing (T,“线性”,“SamplePoints”,“Var1”)

数据类型:||datetime|持续时间

表变量操作,指定为这个表的选项之一。的DataVariables值表示该变量的输入表来填补。

没有指定表中的其他变量DataVariables通过输出而不被填满。

选项 描述 例子
变量名

一个特征向量指定单个表或字符串标量变量名称

“Var1”

“Var1”

向量的变量名

特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

标量或矢量变量指标

一个标量或矢量表变量指标

1

[1 3 5]

逻辑向量

逻辑向量的每个元素对应一个表变量真正的包括相应的变量不包括它

(真的假的真的)

函数处理

一个函数处理,表变量作为输入,并返回一个逻辑标量

@isnumeric

vartype下标

表生成的下标vartype函数

vartype(数字)

例子:fillmissing (T,“线性”,“DataVariables”, (“Var1”“Var2”“Var4”])

替换值指标,当指定为一个值一个是一个表或时间表:

  • 真正的1——输入表变量包含缺失项替换为填充表变量。

  • 0——附加的输入表与表变量检查缺失的条目。失踪的附加变量中的条目。

为向量、矩阵或多维数组输入数据,ReplaceValues不支持。万博1manbetx

例子:fillmissing (T,‘以前’,‘ReplaceValues’,假)

缺失值的选择

全部折叠

方法处理端点指定为“extrap”,“以前”,“下一个”,“最近的”,“没有”标量值,或者一个常数。端点填补方法处理前导和尾随缺失值基于这些定义:

方法 描述
“extrap” 一样方法
“以前” 以前的常数的值
“下一个” 下一个常数的值
“最近的” 常数的值
“没有” 没有填写价值
标量 恒定值(数值,持续时间,datetime数据类型)

失踪的指示器,指定为一个逻辑向量,矩阵,或多维数组的大小一样一个。指示元素真正的来表示一个缺失值的相应位置一个否则。

数据类型:逻辑

最大差距大小,指定为一个数字标量,持续时间标量或calendarDuration标量。差距是集群连续失踪的值的大小是常数之间的距离值周围的空白。的差距大小是相对于采样点计算。差距小于或等于最大差距大小了,差距大于差距大小并不是。

例如,考虑向量y =[25南南100]使用默认的采样点(1 2 3 4)。缺口大小的矢量计算的采样点4 - 1 = 3,所以MaxGap的价值2叶子缺失的值没有改变,而一个MaxGap的价值3填写缺失的值。

缺失值的开始或者结束的数据:

  • 一个缺失值在开始或者结束的时候输入数据的差距大小为0,总是填满。

  • 集群缺失值发生的开始或者结束输入数据并不是完全包围常数的值,所以间隙尺寸计算使用最近的现有的采样点。为默认的采样点1:N,这产生一个缺口大小是1小于如果相同的集群发生在中间的数据。

输出参数

全部折叠

填充数据,返回为一个向量,矩阵,多维数组,表,或时间表。

F一样的尺寸吗一个除非的价值ReplaceValues。如果该值的ReplaceValues,然后的宽度F是输入数据的总和变量指定宽度和数量的数据。

填充数据指标,返回为一个向量,矩阵,或多维数组。特遣部队是一个逻辑数组1 (真正的)对应的条目F以前失踪,0 ()对应于不变的条目。

特遣部队一样的尺寸吗F

数据类型:逻辑

提示

  • 对输入数据结构数组或单元阵列的非向量,fillmissing不填任何条目。来填补缺失的条目在一个结构数组,适用fillmissing通过使用每个字段的结构structfun函数。来填补缺失的条目在一个单元阵列的非向量,适用fillmissing每个单元的单元阵列使用cellfun函数。

扩展功能

版本历史

介绍了R2016b

全部展开