填补缺失值
使用带有窗口长度的移动窗口平均值或中值填充缺失项F
= fillmissing (一种
那movmethod.
那窗口
的)窗口
.例如,fillmissing(“movmean”,5)
使用窗口长度为5的移动平均值填充数据。
南
价值创建一个包含南
值并替换每个南
以前的非缺失值。
A = [1 3 NaN 4 nan NaN 5];f = fillmissing(a,“以前”的)
F =1×71 3 3 4 4 4 5
南
价值创建一个2 × 2矩阵南
每列中的值。填南
和One hundred.
在第一列和1000
在第二列。
a = [1楠;南2]
A =2×21楠楠2
f = fillmissing(a,“不变”,[100 1000])
F =2×21 1000 100 2
使用插值来代替南
非均匀抽样数据中的值。
定义一个非均匀采样点的向量,并在这些点上计算正弦函数。
x = [-4 * pi:0.1:0,0.1:0.2:4 * pi];a = sin(x);
注入南
值到一种
.
a(<0.75&a> 0.5)= nan;
使用线性插值填充缺失的数据,并返回填充的向量F
逻辑向量特遣部队
.值1 (真正的
)的条目特遣部队
对应于值F
吃饱了。
(F, TF) = fillmissing (,“线性”那'samplepoints', x);
绘制原始数据和填充数据。
绘图(x,a,'。',x(tf),f(tf),“o”)包含('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.-')传说(“填充缺失数据”那“原始数据”的)
定义要填充的自定义函数南
具有以前的非诱导值的值。
定义一个样本点向量T.
和对应数据的向量一种
包含南
价值观。绘制数据。
t = 10:10:100;A = [0.1 0.2 0.3 NaN 0.6 0.7 NaN 0.9 1];绘图(T,A,“o”的)
使用本地功能forwardfill
(在示例的最后定义)来用前面的非缺失值填充缺失的空白。函数句柄输入包括:
xs
- 用于填充的数据值
ts
-用于填充的值相对于采样点的位置
tq操作
- 缺失值相对于采样点的位置
N.
-要填充的空白值的数量
n = 2;Gapwindow = [10 0];[F,TF] = A,@(xs,ts,tq) forwardfill(xs,ts,tq,n),gapwindow,'samplepoints',t);
差距窗口值(10 0)
讲fillmissing
考虑缺失间隙前一个数据点而缺失间隙后没有数据点,因为之前的未缺失值位于间隙前10个单位。函数处理由决定的输入值fillmissing
对于第一个差距是:
xs = 0.3
TS = 30.
Tq = [40 50]
函数处理第二间隙的输入值是:
xs = 0.7
TS = 70.
tq = 80
绘制原始数据和填充数据。
绘图(T,A,“o”,t(tf),f(tf),'ro'的)
功能ts, y = forwardfill (xs tq, n)使用以前的非贴头值填充缺失差距中的n值Y = NaN(1,Numel(TQ));Y(1:min(numel(tq),n))= xs;结尾
创建一个缺少条目的矩阵,并使用线性插值每次填充一行。对于每一行,用该行中最近的非缺失值填充开头和末尾的缺失值。
A = [NaN 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]
A =3×10NaN 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
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
用不同的数据类型填充表变量的缺失值。
创建一个变量包括的表分类
那双
, 和字符
数据类型。
a =表(分类({“阳光”;“多云”;''}),[66; nan; 54],{'';'n';'是'},(37; 39;南),...“VariableNames”,{'描述''温度''雨'“湿度”})
A =3×4表描述温度雨湿度 ___________ ___________ __________ ________ 阳光66 {0 x0 char} 37多云南{' N '} 39 <定义> 54 {Y} NaN
将所有缺失的条目替换为上一个条目的值。由于没有先前的元素雨
变量时,丢失的字符向量不被替换。
f = fillmissing(a,“以前”的)
F =3×4表描述温度雨湿度 ___________ ___________ __________ ________ 阳光66 {0 x0 char} 37多云66 {' N '} 39多云54 {Y} 39
更换南
来自的价值观温度
和湿度
变量一种
用0。
f = fillmissing(a,“不变”0,'datavariables',{'温度'那“湿度”})
F =3×4表描述温度雨湿度 ___________ ___________ __________ ________ 阳光66 {0 x0 char} 37多云0 39 {' N '} <定义> 54 {Y} 0
另外,使用isnumeric.
函数来标识要对其进行操作的数值变量。
f = fillmissing(a,“不变”0,'datavariables'@isnumeric)
F =3×4表描述温度雨湿度 ___________ ___________ __________ ________ 阳光66 {0 x0 char} 37多云0 39 {' N '} <定义> 54 {Y} 0
现在填补缺失的值一种
为每个表变量指定一个常量,这些变量包含在单元格数组中。
f = fillmissing(a,“不变”,{talicorical({“没有”}), 1000,'未知'1000})
F =3×4表描述温度雨湿度 ___________ ___________ ___________ ________ 阳光66{‘未知’}37多云1000 {' N '} 39没有54 1000 {Y}
创建时间向量T.
在几秒钟内和相应的数据矢量一种
包含南
价值观。
T =秒([2 4 8 17 98 134 256 311 1001]);A = [1 3 23 NaN NaN 100 NaN 233];
仅填写缺失的值一种
这对应于最大间隙尺寸为250秒。由于第二间隙大于250秒,因此南
值未填满。
f = fillmissing(a,“线性”那'samplepoints't“MaxGap”秒(250))
F =1×91.0000 3.0000 23.0000 25.7944 50.9435 62.1210 100.0000 NaN 233.0000
一种
-输入数据输入数据,指定为向量、矩阵、多维数组、表或时间表。
当输入参数是单元格数组时,它必须是字符向量的单元格数组。如果一种
是一个时间表,则只填充表值。如果行乘以的相关向量包含anat
或南
那么fillmissing
产生一个错误。行时间必须是唯一的,并且按升序列出。
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|字符
|字符串
|细胞
|桌子
|时间表
|分类
|约会时间
|期间
|calendarDuration
V.
-填充常数填充常数,指定为标量、向量或单元格数组。
V.
可以是矢量何时一种
是一个矩阵或多维数组,指示每个操作维度的不同填充值。长度V.
必须与操作尺寸的长度相匹配。
V.
何时可以是填充值的单元格数组一种
是表或时间表,指示每个变量的不同填充值。单元格数组中的元素数必须与表中的变量数匹配。
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|字符
|细胞
|分类
|约会时间
|期间
方法
-填充方法“以前”
|“下一个”
|“最近的”
|“线性”
|样条的
|“pchip”
|“makima”
填充方法,指定为以下之一:
方法 | 描述 |
---|---|
“以前” |
以前non-missing价值 |
“下一个” |
下一个non-missing值 |
“最近的” |
最近的non-missing价值 |
“线性” |
邻近的线性插值,非缺失值(数字,期间 , 和约会时间 数据类型) |
样条的 |
分段立方样条插值(数字,期间 , 和约会时间 数据类型) |
“pchip” |
保持形状的分段三次样条插值(数值的,期间 , 和约会时间 数据类型) |
“makima” |
修正Akima立方Hermite插值(数值,期间 , 和约会时间 数据类型) |
movmethod.
-移动方法“movmean”
|“movmedian”
移动方法来填补缺失的数据,指定为以下之一:
方法 | 描述 |
---|---|
“movmean” |
在一个长度窗口的移动平均线窗口 (仅限数字数据类型) |
“movmedian” |
在有长度的窗口上移动中间值窗口 (仅限数字数据类型) |
FILLFUN.
-自定义填充方法例子:@(xs,ts,tq)myfun(xs,ts,tq)
自定义填充方法,指定为函数句柄。有效功能句柄必须包含以下三个输入参数:
输入参数 | 描述 |
---|---|
xs |
包含用于填充的数据值的向量。长度xs 必须匹配指定窗口的长度。 |
ts |
向量,包含用于填充的值的位置。长度ts 必须匹配指定窗口的长度。ts 是采样点向量的子集。 |
tq操作 |
向量包含缺失值的位置。tq操作 是采样点向量的子集。 |
该函数必须返回具有相同长度的标量或向量tq操作
.
窗口
-窗口长度移动方法的窗口长度,指定为正整数标量、正整数的两元素向量、正持续时间标量或正持续时间的两元素向量。窗口是相对于样本点定义的。
当窗口
是一个正整数标量,那么窗口是围绕当前元素和包含窗口1
相邻的元素。如果窗口
甚至,然后窗口以当前和以前的元素为中心。如果窗口
是一个正整数的二元向量吗[b f]
,则窗口包含当前元素,B.
元素向后,F
元素。
当一种
是时间表还是'samplepoints'
被指定为一个约会时间
或期间
向量,窗口
必须是类型期间
.
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|期间
gapwindow
-空白窗口长度用于自定义填充功能的间隙窗口长度,指定为正整数标量,正整数的两个元素矢量,正持续时间标量或正持续时间的两个元素矢量。间隙窗口相对于采样点定义。
当指定函数句柄时FILLFUN.
对于fill方法,值为gapwindow
表示包围输入数据中缺失值的每个间隙的固定窗口长度。然后计算填充值FILLFUN.
使用该窗口中的值。例如,默认采样点t = 1:10
和数据A = [10 20 NaN NaN 50 60 70 NaN 90 100]
,窗口长度GapWindow = 3.
指定第一个窗口为[20 NaN NaN 50]
的FILLFUN.
操作以计算填充值。第二个间隙窗口FILLFUN.
担任操作[70南90]
.
当一种
是时间表还是'samplepoints'
被指定为一个约会时间
或期间
向量,窗口
必须是类型期间
.
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|期间
暗淡
-维度运行的尺寸维度运行,指定为正整数标量。如果没有指定值,则默认值是第一个数组维度,其大小不等于1。
当一种
是桌子或时间表,暗淡
不受支持。金宝appfillmissing
沿着每个表或时间可变分别操作。
考虑一个二维输入数组,一种
.
如果昏暗的= 1
, 然后fillmissing
填满一种
列的列。
如果昏暗的= 2
, 然后fillmissing
填满一种
行按行。
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
指定可选的逗号分离对名称,价值
参数。的名字
是参数名称和价值
为对应值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
fillmissing (A, DataVariables,{“温度”、“高度”})
属性对应的列温度
和高度
输入表的变量
samplepoints.
-样本点vartype.
下标示例点,指定为逗号分隔对组成'samplepoints'
当输入数据是表时,可以是样本点值向量或下表中的选项之一。样本点代表X-轴位置的数据,必须被排序并包含唯一的元素。采样点不需要均匀采样。向量[1 2 3…]
是默认的。
当输入数据是表时,您可以使用以下选项之一指定样本点作为表变量。
表输入选项 | 描述 | 例子 |
---|---|---|
变量名 | 指定单个表变量名的字符向量或标量字符串 |
|
标量变量指数 | 标量表变量索引 |
|
逻辑矢量 | 逻辑向量,其每个元素对应一个表变量,其中 |
|
函数处理 | 接受表变量作为输入并返回逻辑标量的函数句柄,逻辑标量必须为 |
|
vartype. 下标 |
属性生成的表下标 |
|
笔记
当输入数据为金宝app时间表
.时间表总是使用行时间向量作为样本点。要使用不同的样本点,必须编辑时间表,以便行时间包含所需的样本点。
移动窗口相对于采样点定义。例如,如果T.
是与输入数据相对应的时间的矢量fillmissing(兰德(1 10)“movmean”,3,SamplePoints, t)
有一个代表之间的时间间隔的窗口-1.5 t(我)
和t(我)+ 1.5
.
当样本点向量具有数据类型时约会时间
或期间
,则移动窗口长度必须有类型期间
.
例子:fillmissing([1 NaN 3 4],'linear','SamplePoints',[1 2.5 3 4])
例子:Fillmissing(t,'linear','samplepoints',“var1”)
数据类型:单
|双
|约会时间
|期间
DataVariables
-要操作的表变量vartype.
下标表变量操作,指定为逗号分隔对组成'datavariables'
和此表中的其中一个选项。这'datavariables'
值表示要填充的输入表的哪些变量。桌中的其他变量未指定'datavariables'
传递到输出而不进行操作。
选项 | 描述 | 例子 |
---|---|---|
变量名 | 指定单个表变量名的字符向量或标量字符串 |
|
变量名称矢量 | 字符向量或字符串数组的单元格数组,其中每个元素是表变量名称 |
|
可变指标的标量或向量 | 表变量指数的标量或向量 |
|
逻辑矢量 | 逻辑向量,其每个元素对应一个表变量,其中 |
|
函数处理 | 接受表变量作为输入并返回逻辑标量的函数句柄 |
|
vartype. 下标 |
属性生成的表下标 |
|
例子:fillmissing (T,“线性”,“DataVariables”,(“Var1”“Var2”“Var4”])
EndValues
-处理端点的方法“extrap”
(默认)|“以前”
|“下一个”
|“最近的”
|'没有任何'
|标量处理端点的方法,指定为逗号分隔对组成'endvalues'
之一“extrap”
那“以前”
那“下一个”
那“最近的”
那'没有任何'
或恒定的标量值。端点填充方法根据以下定义处理引导和丢失的值:
方法 | 描述 |
---|---|
“extrap” |
与...一样方法 |
“以前” |
以前non-missing价值 |
“下一个” |
下一个non-missing值 |
“最近的” |
最近的non-missing价值 |
'没有任何' |
没有填写价值 |
标量 | 恒定值(数值,期间 , 和约会时间 数据类型) |
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|约会时间
|期间
MissingLocations
-已知缺少指标已知缺失指示器,指定为逗号分隔对组成“MissingLocations”
和具有相同大小的逻辑向量、矩阵或多维数组一种
.指标元素可以为真正的
的对应位置上的缺失值一种
或错误的
除此以外。
数据类型:逻辑
MaxGap
-要填充的最大间隙大小期间
标量|calendarDuration
标量要填充的最大间隙大小,指定为数字标量,期间
标量,或者calendarDuration
标量。间隙是连续缺失值的群集,其大小是围绕间隙围绕缺失值之间的距离。相对于采样点计算间隙尺寸。填充小于或等于最大间隙尺寸的间隙,并且比间隙尺寸大的间隙不是。
例如,考虑向量Y = [25南纳100]
使用默认采样点[1 2 3 4]
.向量中的间隙大小由样本点计算为4 - 1 = 3
,所以MaxGap
的价值2
保持缺失值不变,而MaxGap
的价值3.
填充缺失的值。
对于数据开头或结尾的缺失值:
输入数据末尾的一个缺失值的间隙大小为0,并且总是被填满。
在输入数据的开头或结尾处发生的缺失值的集群未被非缺失值完全包围,因此使用最近的现有样本点计算间隙大小。对于默认采样点1: N
,这产生的间隙大小比在数据的中间发生的相同群集时比相同的差距小。
F
- 填充数据填充数据,作为向量,矩阵,多维数组,表或时间表返回。F
大小是一样的吗一种
.
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|字符
|字符串
|细胞
|桌子
|时间表
|分类
|约会时间
|期间
|calendarDuration
特遣部队
-填充数据指示器填充数据指示器,返回为向量,矩阵或多维数组。特遣部队
是逻辑数组,其中1 (真正的
)对应于参赛作用F
填充了0(错误的
)对应于不变的条目。特遣部队
大小是一样的吗一种
和F
.
数据类型:逻辑
使用注意事项及限制:
这样条的
和“makima”
不支持方法。金宝app
不支持函数句柄填充方法。金宝app
这“MaxGap”
那'samplepoints'
, 和“MissingLocations”
不支持名称-值对。金宝app
这'datavariables'
名称值对无法指定函数句柄。
这'endvalues'
名称值对只能指定“extrap”
.
语法fillmissing (movmethod,窗口)
不支持金宝app一种
是一个很高的时间表。
语法填充(a,'常数',v)
必须指定标量值V.
.
语法填充(a,___)
不支持字符向量变量金宝app时一种
是一张高桌子或高时刻表。
有关更多信息,请参阅高阵列.
使用注意事项及限制:
这“MaxGap”
不支持名称-值对。金宝app
这“makima”
选项不支持。金宝app
当'samplepoints'
价值类型约会时间
或者输入数据是一个时间表约会时间
行时间,只有方法“不变”
那“movmean”
, 和“movmedian”
都受支持金宝app。
功能处理输入Fillmethod.
争论不受支持。金宝app
backgroundPool
或使用并行计算工具箱™加速代码螺纹池
.此功能完全支持基于线程的环境。金宝app有关更多信息,请参阅在基于线程的环境中运行matlab函数.
Hai fatto clic su un collegamento che corto comando MATLAB:
esegui il comando inserendolo nella finestra di comando matlab。我浏览Web非Spectsano i金宝app Comandi Matlab。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。