fillmissing
填补缺失值
语法
描述
例子
向量和南
值
矩阵南
值
创建一个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))传说(“原始数据”,填充数据的)
用移动平均法
使用一个移动的位数来填补缺失的数字数据。
创建一个采样点的向量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,,“。”)传说(“原始数据”,填充数据的)
使用自定义填充方法
定义一个自定义函数南
值常数与以前的值。
定义一个向量的抽样点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))
函数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
必须匹配操作的长度尺寸。如果
一个
是一个表或时间表吗v
可以填满值的单元阵列显示不同的填充每个变量值。细胞数组中元素的个数必须匹配表中变量的数量。
方法
- - - - - -填补方法
“以前”
|“下一个”
|“最近的”
|“线性”
|样条的
|“pchip”
|“makima”
填补方法,指定这些值之一:
方法 | 描述 |
---|---|
“以前” |
以前的常数的值 |
“下一个” |
下一个常数的值 |
“最近的” |
常数的值 |
“线性” |
邻近的线性插值,常数的值(数值,持续时间 ,datetime 数据类型) |
样条的 |
分段三次样条插值(数字,持续时间 ,datetime 数据类型) |
“pchip” |
一种保形分段三次样条插值(数字,持续时间 ,datetime 数据类型) |
“makima” |
修改Akima立方埃尔米特插值(数字,持续时间 ,datetime 数据类型) |
movmethod
- - - - - -移动的方法
“movmean”
|“movmedian”
移动的方法来填补缺失数据,指定这些值之一:
方法 | 描述 |
---|---|
“movmean” |
移动平均的窗口长度窗口 (仅数字数据类型) |
“movmedian” |
移动平均的窗口长度窗口 (仅数字数据类型) |
窗口
- - - - - -窗口长度
正整数标量|双元素向量的正整数|积极的标量时间|双元素向量积极的持续时间
窗口长度为移动方法,指定为一个正整数标量,双元素向量的正整数,一个积极的标量时间,或一个双元素向量积极的持续时间。相对于采样点定义的窗口。
如果窗口
是一个正整数标量,那么窗口集中当前元素和包含呢窗口1
相邻的元素。如果窗口
是偶数,那么窗口集中有关当前和以前的元素。
如果窗口
是一个双元素向量的正整数f [b]
,那么窗口包含当前元素,b
元素向后,f
元素。
如果一个
一个时间表或SamplePoints
被指定为一个datetime
或持续时间
向量,那么必须类型的窗口持续时间
。
fillfun
- - - - - -自定义填充方法
函数处理
例子:@ (xs, ts, tq) myfun (xs, ts, tq操作)
自定义填充方法,指定为一个函数处理。有效的处理函数必须包括以下三个输入参数:
输入参数 | 描述 |
---|---|
xs |
用于填充矢量包含数据值。的长度xs 必须匹配指定窗口的长度。 |
ts |
用于填充矢量包含位置的值。的长度ts 必须匹配指定窗口的长度。ts 是一个采样点的子集向量。 |
tq操作 |
向量含有缺失值的位置。tq操作 是一个采样点的子集向量。 |
函数必须返回一个标量或矢量长度一样tq操作
。
gapwindow
- - - - - -空白窗口长度
正整数标量|双元素向量的正整数|积极的标量时间|双元素向量积极的持续时间
空白窗口长度为自定义填充函数,指定为一个正整数标量,双元素向量的正整数,一个积极的标量时间,或一个双元素向量积极的持续时间。窗口定义相对于采样点的差距。
当指定一个函数处理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(方法2)
填补缺失值根据每一行的数据一个
并返回一个米
——- - - - - -n
矩阵。
对于输入的数据表或时间表,昏暗的
不支持和操作变万博1manbetx量分别在每个表或时间表。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:fillmissing (T)方法,“SamplePoints”、“Var1”)
SamplePoints
- - - - - -采样点
向量|表变量名|标量|函数处理|表vartype
下标
采样点的采样点,指定为一个矢量值,或者其中一个选项在下表中输入数据时一个表。采样点表示x设在位置的数据,必须进行排序和含有独特的元素。采样点不需要均匀采样。向量(1 2 3…)
是默认的。
当一个表输入数据时,您可以指定采样点作为一个表变量使用这些选项之一:
选择表的输入 | 描述 | 例子 |
---|---|---|
变量名 | 一个特征向量或标量字符串指定单个表变量名 |
|
标量变量指数 | 一个标量变量索引表 |
|
逻辑向量 | 逻辑向量的每个元素对应一个表变量 |
|
函数处理 | 一个函数处理,表变量作为输入,并返回一个逻辑标量,必须 |
|
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
- - - - - -表变量来操作
表变量名|标量|向量|单元阵列|函数处理|表vartype
下标
表变量操作,指定为这个表的选项之一。的DataVariables
值表示该变量的输入表来填补。
没有指定表中的其他变量DataVariables
通过输出而不被填满。
选项 | 描述 | 例子 |
---|---|---|
变量名 | 一个特征向量指定单个表或字符串标量变量名称 |
|
向量的变量名 | 特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名 |
|
标量或矢量变量指标 | 一个标量或矢量表变量指标 |
|
逻辑向量 | 逻辑向量的每个元素对应一个表变量 |
|
函数处理 | 一个函数处理,表变量作为输入,并返回一个逻辑标量 |
|
vartype 下标 |
表生成的下标 |
|
例子:fillmissing (T,“线性”,“DataVariables”, (“Var1”“Var2”“Var4”])
ReplaceValues
- - - - - -替换值指标
真正的
或1
(默认)|假
或0
替换值指标,当指定为一个值一个
是一个表或时间表:
真正的
或1
——输入表变量包含缺失项替换为填充表变量。假
或0
——附加的输入表与表变量检查缺失的条目。失踪的附加变量中的条目。
为向量、矩阵或多维数组输入数据,ReplaceValues
不支持。万博1manbetx
例子:fillmissing (T,‘以前’,‘ReplaceValues’,假)
EndValues
- - - - - -方法处理端点
“extrap”
(默认)|“以前”
|“下一个”
|“最近的”
|“没有”
|标量
方法处理端点指定为“extrap”
,“以前”
,“下一个”
,“最近的”
,“没有”
标量值,或者一个常数。端点填补方法处理前导和尾随缺失值基于这些定义:
方法 | 描述 |
---|---|
“extrap” |
一样方法 |
“以前” |
以前的常数的值 |
“下一个” |
下一个常数的值 |
“最近的” |
常数的值 |
“没有” |
没有填写价值 |
标量 | 恒定值(数值,持续时间 ,datetime 数据类型) |
MissingLocations
- - - - - -知道失踪的指标
向量|矩阵|多维数组
失踪的指示器,指定为一个逻辑向量,矩阵,或多维数组的大小一样一个
。指示元素真正的
来表示一个缺失值的相应位置一个
或假
否则。
数据类型:逻辑
MaxGap
- - - - - -最大差距大小来填补
数字标量|持续时间
标量|calendarDuration
标量
最大差距大小,指定为一个数字标量,持续时间
标量或calendarDuration
标量。差距是集群连续失踪的值的大小是常数之间的距离值周围的空白。的差距大小是相对于采样点计算。差距小于或等于最大差距大小了,差距大于差距大小并不是。
例如,考虑向量y =[25南南100]
使用默认的采样点(1 2 3 4)
。缺口大小的矢量计算的采样点4 - 1 = 3
,所以MaxGap
的价值2
叶子缺失的值没有改变,而一个MaxGap
的价值3
填写缺失的值。
缺失值的开始或者结束的数据:
一个缺失值在开始或者结束的时候输入数据的差距大小为0,总是填满。
集群缺失值发生的开始或者结束输入数据并不是完全包围常数的值,所以间隙尺寸计算使用最近的现有的采样点。为默认的采样点
1:N
,这产生一个缺口大小是1小于如果相同的集群发生在中间的数据。
输出参数
F
——填充数据
多维数组向量矩阵| | | |表时间表
填充数据,返回为一个向量,矩阵,多维数组,表,或时间表。
F
一样的尺寸吗一个
除非的价值ReplaceValues
是假
。如果该值的ReplaceValues
是假
,然后的宽度F
是输入数据的总和变量指定宽度和数量的数据。
特遣部队
——填充数据指标
矩阵向量| |多维数组
填充数据指标,返回为一个向量,矩阵,或多维数组。特遣部队
是一个逻辑数组1 (真正的
)对应的条目F
以前失踪,0 (假
)对应于不变的条目。
特遣部队
一样的尺寸吗F
。
数据类型:逻辑
提示
对输入数据结构数组或单元阵列的非向量,
fillmissing
不填任何条目。来填补缺失的条目在一个结构数组,适用fillmissing
通过使用每个字段的结构structfun
函数。来填补缺失的条目在一个单元阵列的非向量,适用fillmissing
每个单元的单元阵列使用cellfun
函数。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
的
样条的
和“makima”
不支持方法。万博1manbetx不支持函数处理填充方法。万博1manbetx
的
MaxGap
,SamplePoints
,MissingLocations
不支持名称参数。万博1manbetx的
DataVariables
名称-值参数不能指定一个函数处理。的
EndValues
名称-值参数只能指定“extrap”
。的语法
fillmissing (movmethod,窗口)
时不支持万博1manbetx一个
是一个高大的时间表。的语法
fillmissing(“常数”,v)
必须指定一个标量值吗v
。的语法
fillmissing (___)
时不支持字符向量变万博1manbetx量一个
是一个高表或高的时间表。
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
的
MaxGap
和ReplaceValues
不支持名称参数。万博1manbetx的
“makima”
不支持选项。万博1manbetx当
SamplePoints
价值类型datetime
或输入数据是一个时间表datetime
行乘以,只有方法“不变”
,“movmean”
,“movmedian”
都受支持万博1manbetx。处理输入的函数
fillmethod
不支持的论点。万博1manbetx
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。万博1manbetx有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2016bR2022b:字符数组没有标准的缺失值
字符数组没有违约的定义一个标准的缺失值。因此,fillmissing
把空白字符数组元素(' '
)作为常数。例如,fillmissing ([' a ';' '],“之前”)
返回[" a ";' ')
。以前,它返回[" a ";“a”)
。
治疗空白字符数组元素失踪,使用MissingLocations
名称-值参数。例如,找到空白字符数组元素使用TF = ismissing ([' a ';' ',' ')
,然后指定一个失踪的指标,被称为F = fillmissing ([' a ';' '],“之前”,MissingLocations = TF)
。
R2022a:添加了值
输入数据表或时间表,附加的输入表与表变量检查缺失的条目。失踪的附加变量中的条目。添加,而不是取代,通过设置表变量ReplaceValues
名称-值参数假
。
R2021b:指定采样点作为表变量
对于表输入数据,指定采样点作为表变量使用SamplePoints
名称-值参数。
R2021a:指定自定义填充方法
使用一个自定义的方法通过指定填补缺失值fillfun
作为处理函数。
另请参阅
功能
住编辑任务
应用程序
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。