このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
fillmissing
欠損エントリを埋める
構文
説明
は、配列または table の欠損エントリを定数値 F
= fillmissing(A
,'constant',v
)v
で埋めます。A
が行列または多次元配列の場合、v
はスカラーまたはベクトルのいずれかにすることができます。v
がベクトルの場合、各要素は A
の対応する列の埋め込み値を指定します。A
が table または timetable の場合、v
は要素に各 table 変数の埋め込み値が含まれる cell 配列にすることもできます。
欠損値は、A
のデータ型にしたがって定義されます。
NaN
—double
、single
、duration
およびcalendarDuration
NaT
—datetime
<missing>
—string
<undefined>
—categorical
{''}
— 文字ベクトルのcell
A
が table の場合、各変数のデータ型がその変数の欠損値を定義します。
は、名前と値の引数を 1 つ以上使用して、欠損値を埋めるための追加パラメーターを指定します。たとえば、F
= fillmissing(___,Name,Value
)t
が時間値のベクトルである場合、fillmissing(A,'linear','SamplePoints',t)
は t
の時間を基準にして A
のデータを内挿します。
例
NaN
値を含むベクトル
NaN
値を含むベクトルを作成し、各 NaN
を前の非欠損値で置き換えます。
A = [1 3 NaN 4 NaN NaN 5];
F = fillmissing(A,'previous')
F = 1×7
1 3 3 4 4 4 5
NaN
値を含む行列
各列に NaN
値を含む 2 行 2 列の行列を作成します。1 列目で 100
、2 列目で 1000
を使用して NaN
を埋めます。
A = [1 NaN; NaN 2]
A = 2×2
1 NaN
NaN 2
F = fillmissing(A,'constant',[100 1000])
F = 2×2
1 1000
100 2
欠損データの内挿
内挿を使用して、等間隔でないサンプル データ内の NaN
値を置き換えます。
等間隔でないサンプル点のベクトルを定義し、それらの点で正弦関数を評価します。
x = [-4*pi:0.1:0, 0.1:0.2:4*pi]; A = sin(x);
NaN
値を A
に挿入します。
A(A < 0.75 & A > 0.5) = NaN;
線形内挿を使用して欠損データを埋め、埋め込みを受けたベクトル F
および logical ベクトル TF
を返します。TF
の要素の値 1 (true
) は、F
の埋め込まれた値に対応します。
[F,TF] = fillmissing(A,'linear','SamplePoints',x);
元のデータと埋め込まれたデータをプロットします。
scatter(x,A) hold on scatter(x(TF),F(TF)) legend('Original Data','Filled Data')
移動中央値メソッドの使用
移動中央値を使用して欠損数値データを埋めます。
サンプル点 x
のベクトルと、欠損値を含むデータ A
のベクトルを作成します。
x = linspace(0,10,200); A = sin(x) + 0.5*(rand(size(x))-0.5); A([1:10 randi([1 length(x)],1,50)]) = NaN;
長さ 10 のウィンドウの移動中央値を使用して A
の NaN
値を置き換えて、元のデータと埋め込まれたデータをプロットします。
F = fillmissing(A,'movmedian',10); plot(x,F,'.-') hold on plot(x,A,'.-') legend('Original Data','Filled Data')
カスタム埋め込みメソッドの使用
前の非欠損値で NaN
値を埋めるカスタム関数を定義します。
サンプル点 t
のベクトルと、NaN
値を含む対応するデータ A
のベクトルを定義します。データをプロットします。
t = 10:10:100; A = [0.1 0.2 0.3 NaN NaN 0.6 0.7 NaN 0.9 1]; scatter(t,A)
ローカル関数 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
に、欠損ギャップの前では 1 つのデータ点を考慮し、ギャップの後ではデータ点を考慮しないように指示します。前の非欠損値がギャップの 10 単位前の位置にあるためです。最初のギャップに対して fillmissing
で決定される関数ハンドルの入力値は次のとおりです。
xs = 0.3
ts = 30
tq = [40 50]
2 番目のギャップに対する関数ハンドルの入力値は次のとおりです。
xs = 0.7
ts = 70
tq = 80
元のデータと埋め込まれたデータをプロットします。
scatter(t,A)
hold on
scatter(t(TF),F(TF))
function y = forwardfill(xs,ts,tq,n) % Fill n values in the missing gap using the previous nonmissing value y = NaN(1,numel(tq)); y(1:min(numel(tq),n)) = xs; end
欠損端点を含む行列
欠損エントリを含む行列を作成し、線形内挿を使用して、一度に 1 行ずつ列 (2 番目の次元) を埋めます。各行の先頭および末尾の欠損値は、その行で最も近い非欠損値で埋めます。
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×10
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
F = fillmissing(A,'linear',2,'EndValues','nearest')
F = 3×10
5 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
複数のデータ型をもつ table
データ型が異なる table 変数の欠損値を埋めます。
categorical
、double
、および char
のデータ型を含む複数の変数をもつ table を作成します。
A = table(categorical({'Sunny'; 'Cloudy'; ''}),[66; NaN; 54],{''; 'N'; 'Y'},[37; 39; NaN],... 'VariableNames',{'Description' 'Temperature' 'Rain' 'Humidity'})
A=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy NaN {'N' } 39
<undefined> 54 {'Y' } NaN
すべての欠損エントリを前の要素の値で置き換えます。変数 Rain
には前の要素がないため、欠損文字ベクトルは置き換えられません。
F = fillmissing(A,'previous')
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 66 {'N' } 39
Cloudy 54 {'Y' } 39
A
内の変数 Temperature
および変数 Humidity
の NaN
値を 0 に置き換えます。
F = fillmissing(A,'constant',0,'DataVariables',{'Temperature','Humidity'})
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
あるいは、関数 isnumeric
を使用して、動作対象の数値変数を識別します。
F = fillmissing(A,'constant',0,'DataVariables',@isnumeric)
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ __________ ________
Sunny 66 {0x0 char} 37
Cloudy 0 {'N' } 39
<undefined> 54 {'Y' } 0
次に、cell 配列に含まれる各 table 変数の指定された定数で A
の欠損値を埋めます。
F = fillmissing(A,'constant',{categorical({'None'}),1000,'Unknown',1000})
F=3×4 table
Description Temperature Rain Humidity
___________ ___________ ___________ ________
Sunny 66 {'Unknown'} 37
Cloudy 1000 {'N' } 39
None 54 {'Y' } 1000
最大ギャップの指定
秒単位の時間ベクトル t
と、NaN
値を含むデータ A
の対応するベクトルを作成します。
t = seconds([2 4 8 17 98 134 256 311 1001]); A = [1 3 23 NaN NaN NaN 100 NaN 233];
最大ギャップ サイズ 250 秒に対応する A
の欠損値のみを埋めます。2 番目のギャップは 250 秒を超えるため、NaN
値は埋められません。
F = fillmissing(A,'linear','SamplePoints',t,'MaxGap',seconds(250))
F = 1×9
1.0000 3.0000 23.0000 25.7944 50.9435 62.1210 100.0000 NaN 233.0000
カスタム距離関数の使用
カスタム距離関数を使用して、最近傍の行の値によって欠損エントリを埋めます。
NaN
値を含む行列を作成してから、3 番目の行の欠損エントリの位置を示す logical ベクトルを作成します。
A = [1 3 9 3; -5 1 7 2; -1 1 7 NaN; 12 1 9 1]; m = isnan(A(3,:));
行間の距離を測定する 2 つのカスタム関数を定義します。
関数 d1
は、各座標ペア間の距離を合計して行間の距離を測定します。関数 dinf
は、座標ペア間の最大距離を求めて行間の距離を測定します。
d1 = @(x,~) sum(abs(diff(x)),'omitnan'); dinf = @(x,isNaN) norm(diff(x(:,~isNaN(1,:))),'inf');
3 番目の行と他の 3 行のそれぞれとの間の d1
測定の距離を計算します。2 番目の行が最も近くなっています。
d1s = arrayfun(@(r) d1(A([r 3],:),m), setdiff(1:4,3))
d1s = 1×3
6 4 15
関数 fillmissing
は 3 番目の行の NaN
を 2 番目の行の対応する 2
に置き換えます。
F1 = fillmissing(A,'knn','Distance',d1)
F1 = 4×4
1 3 9 3
-5 1 7 2
-1 1 7 2
12 1 9 1
dinf
測定の距離での同様の解析では、最初の行が 3 番目の行に最も近いとわかります。そこで、関数 fillmissing
は 3 番目の行の NaN
を最初の行の対応する 3 に置き換えます。
dinfs = arrayfun(@(r) dinf(A([r 3],:),m), setdiff(1:4,3))
dinfs = 1×3
2 4 13
Finf = fillmissing(A,'knn','Distance',dinf)
Finf = 4×4
1 3 9 3
-5 1 7 2
-1 1 7 3
12 1 9 1
入力引数
A
— 入力データ
ベクトル | 行列 | 多次元配列 | 文字ベクトルの cell 配列 | table | timetable
入力データ。ベクトル、行列、多次元配列、文字ベクトルの cell 配列、table、または timetable として指定します。
A
が timetable である場合は、table 値のみが埋められます。関連付けられた行時間のベクトルにNaT
値またはNaN
値が含まれる場合、fillmissing
はエラーを生成します。行時間は一意で、昇順にリストされていなければなりません。A
が cell 配列、または cell 配列変数をもつ table の場合、fillmissing
は cell 配列が文字ベクトルを含む場合のみ欠損要素が埋められます。
v
— 埋め込み定数
スカラー | ベクトル | cell 配列
埋め込み定数。スカラー、ベクトル、または cell 配列として指定します。
A
が行列または多次元配列の場合、v
には操作次元ごとに異なる埋め込み値を示すベクトルを指定できます。v
の長さは、操作次元の長さと一致しなければなりません。A
が table または timetable の場合、v
には変数ごとに異なる埋め込み値を示す、埋め込み値の cell 配列を指定できます。cell 配列内の要素数は、table 内の変数の数と一致しなければなりません。
method
— 埋め込みメソッド
'previous'
| 'next'
| 'nearest'
| 'linear'
| 'spline'
| 'pchip'
| 'makima'
埋め込みメソッド。次の値のいずれかとして指定します。
メソッド | 説明 |
---|---|
'previous' | 前の非欠損値 |
'next' | 次の非欠損値 |
'nearest' | x 軸で定義される最も近い非欠損値 |
'linear' | 近傍の非欠損値の線形内挿 (数値、duration 、datetime のデータ型のみ) |
'spline' | 区分的 3 次スプライン内挿 (数値、duration 、datetime のデータ型のみ) |
'pchip' | 形状維持区分的 3 次スプライン内挿 (数値、duration 、datetime のデータ型のみ) |
'makima' | 修正 Akima 3 次エルミート内挿 (数値、duration 、datetime のデータ型のみ) |
movmethod
— 移動メソッド
'movmean'
| 'movmedian'
欠損データを埋める移動メソッド。次の値のいずれかとして指定します。
メソッド | 説明 |
---|---|
'movmean' | 長さ window のウィンドウの移動平均値 (数値データ型のみ) |
'movmedian' | 長さ window のウィンドウの移動中央値 (数値データ型のみ) |
window
— ウィンドウの長さ
正の整数スカラー | 正の整数の 2 要素ベクトル | 正の duration スカラー | 正の duration の 2 要素ベクトル
移動メソッドのウィンドウの長さ。正の整数スカラー、正の整数の 2 要素ベクトル、正の duration スカラーまたは正の duration の 2 要素ベクトルとして指定します。ウィンドウは、サンプル点を基準にして定義されます。
window
が正の整数スカラーである場合、ウィンドウは現在の要素を中心にして配置され、window-1
個の隣接する要素を含みます。window
が偶数である場合、ウィンドウは現在の要素および直前の要素を中心にして配置されます。
window
が正の整数の 2 要素ベクトル [b f]
である場合、ウィンドウには現在の要素、b
個前までの要素、f
個後までの要素が含まれます。
A
が timetable であるか、SamplePoints
が datetime
ベクトルまたは duration
ベクトルとして指定されている場合、ウィンドウは duration
型でなければなりません。
k
— 最近傍の数
1
(既定値) | 正の整数スカラー
'knn'
メソッドで平均を求める際に使用する最近傍の数。正の整数スカラーとして指定します。
fillfun
— カスタム埋め込みメソッド
関数ハンドル
例: @(xs,ts,tq) myfun(xs,ts,tq)
カスタム埋め込みメソッド。関数ハンドルとして指定します。有効な関数ハンドルには、次の 3 つの入力引数が含まれていなければなりません。
入力引数 | 説明 |
---|---|
xs | 埋め込みに使用されるデータ値を含むベクトル。xs の長さは、指定されたウィンドウの長さと一致しなければなりません。 |
ts | 埋め込みに使用される値の位置を含むベクトル。ts の長さは、指定されたウィンドウの長さと一致しなければなりません。ts はサンプル点ベクトルのサブセットです。 |
tq | 欠損値の位置を含むベクトル。tq はサンプル点ベクトルのサブセットです。 |
関数は、tq
と同じ長さのスカラーまたはベクトルを返さなければなりません。
gapwindow
— ギャップ ウィンドウの長さ
正の整数スカラー | 正の整数の 2 要素ベクトル | 正の duration スカラー | 正の duration の 2 要素ベクトル
カスタム埋め込み関数のギャップ ウィンドウの長さ。正の整数スカラー、正の整数の 2 要素ベクトル、正の duration スカラーまたは正の duration の 2 要素ベクトルとして指定します。ギャップ ウィンドウは、サンプル点を基準にして定義されます。
埋め込みメソッドの関数ハンドル fillfun
を指定する場合、gapwindow
の値は、入力データの欠損値の各ギャップを囲む固定ウィンドウの長さを表します。埋め込み値は、fillfun
でそのウィンドウの値を使用して計算されます。たとえば、既定のサンプル点 t = 1:10
とデータ A = [10 20 NaN NaN 50 60 70 NaN 90 100]
の場合、ウィンドウの長さ gapwindow = 3
は、fillfun
が埋め込み値を計算するために演算を行う最初のギャップ ウィンドウとして [20 NaN NaN 50]
を指定します。fillfun
が演算を行う 2 番目のギャップ ウィンドウは [70 NaN 90]
です。
A
が timetable であるか、SamplePoints
が datetime
ベクトルまたは duration
ベクトルとして指定されている場合、gapwindow
は duration
型でなければなりません。
dim
— 操作次元
正の整数スカラー
操作次元。正の整数スカラーとして指定します。値を指定しない場合、既定値は、サイズが 1 ではない最初の配列の次元です。
m
行 n
列の入力行列 A
を考えます。
fillmissing(A,method,1)
は、A
の各列のデータに従って欠損値を埋め、m
行n
列の行列を返します。fillmissing(A,method,2)
は、A
の各行のデータに従って欠損値を埋め、m
行n
列の行列を返します。
入力データが table または timetable の場合、dim
はサポートされず、演算は各 table 変数または timetable 変数に沿って個別に行われます。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: fillmissing(T,method,'SamplePoints',"Var1")
SamplePoints
— サンプル点
ベクトル | table 変数名 | スカラー | 関数ハンドル | table vartype
添字
サンプル点。サンプル点のベクトル、または次の表のいずれかのオプション (入力データが table の場合) として指定します。サンプル点はデータの x 軸の位置を表し、並べ替える必要があり、一意の要素を含まなければなりません。サンプル点は等間隔でサンプリングされている必要はありません。既定の設定はベクトル [1 2 3 ...]
です。
入力データが table の場合は、次のいずれかのオプションを使用して、サンプル点を table 変数として指定できます。
インデックス方式 | 例 |
---|---|
変数名:
|
|
変数インデックス:
|
|
関数ハンドル:
|
|
変数の型:
|
|
メモ
入力データが timetable
の場合、この名前と値の引数はサポートされません。timetable では、行時間のベクトルをサンプル点として使用します。別のサンプル点を使用するには、目的のサンプル点が行時間に含まれるように timetable を編集しなければなりません。
移動ウィンドウは、サンプル点を基準にして定義されます。たとえば、t
が入力データに対応する時間のベクトルである場合、fillmissing(rand(1,10),'movmean',3,'SamplePoints',t)
には t(i)-1.5
から t(i)+1.5
までの時間間隔を表すウィンドウがあります。
サンプル点ベクトルのデータ型が datetime
または duration
である場合、移動ウィンドウの長さの型は duration
でなければなりません。
例: fillmissing([1 NaN 3 4],'linear','SamplePoints',[1 2.5 3 4])
例: fillmissing(T,'linear','SamplePoints',"Var1")
データ型: single
| double
| datetime
| duration
DataVariables
— 演算の対象とする table 変数
table 変数名 | スカラー | ベクトル | cell 配列 | パターン | 関数ハンドル | table vartype
添字
演算の対象とする table 変数。次の表のオプションのいずれかとして指定します。DataVariables
の値は、入力 table 内のどの変数を埋めるかを示します。
DataVariables
で指定されていない table 内のその他の変数は、埋められずに出力に渡されます。
インデックス方式 | 例 |
---|---|
変数名:
|
|
変数インデックス:
|
|
関数ハンドル:
|
|
変数の型:
|
|
例: fillmissing(T,'linear','DataVariables',["Var1" "Var2" "Var4"])
ReplaceValues
— 値置換インジケーター
true
または 1
(既定値) | false
または 0
値置換インジケーター。A
が table または timetable の場合に、次の値のいずれかとして指定します。
true
または1
— 欠損エントリを含む入力 table 変数を、埋め込み済みの table 変数に置き換えます。false
または0
— 欠損エントリをチェック済みのすべての table 変数を含む入力 table を追加します。追加される変数の欠損エントリは埋められます。
入力データがベクトル、行列、または多次元配列の場合、ReplaceValues
はサポートされません。
例: fillmissing(T,'previous','ReplaceValues',false)
EndValues
— 端点の処理メソッド
'extrap'
(既定値) | 'previous'
| 'next'
| 'nearest'
| 'none'
| スカラー
端点の処理メソッド。'extrap'
、'previous'
、'next'
、'nearest'
、'none'
、または定数スカラー値として指定します。端点埋め込みメソッドは、次の定義に基づいて、先頭および末尾の欠損値を処理します。
メソッド | 説明 |
---|---|
'extrap' | method と同じ |
'previous' | 前の非欠損値 |
'next' | 次の非欠損値 |
'nearest' | 最も近い非欠損値 |
'none' | 埋め込み値なし |
スカラー | 定数値 (数値、duration 、datetime のデータ型のみ) |
MissingLocations
— 既知の欠損インジケーター
ベクトル | 行列 | 多次元配列
既知の欠損インジケーター。A
と同じサイズの logical ベクトル、行列、または多次元配列として指定します。インジケーターの要素は、A
の対応する位置にある欠損値を示す 1
(true
)、またはそれ以外の 0
(false
) にすることができます。
データ型: logical
MaxGap
— 埋められる最大ギャップ サイズ
数値スカラー | duration
スカラー | calendarDuration
スカラー
埋められる最大ギャップ サイズ。数値スカラー、duration
スカラー、または calendarDuration
スカラーとして指定します。ギャップは、そのサイズがギャップ周囲の非欠損値間の距離である連続欠損値のクラスターです。ギャップ サイズはサンプル点を基準にして計算されます。最大ギャップ サイズ以下のギャップが埋められ、ギャップ サイズより大きいギャップは埋められません。
たとえば、既定のサンプル点 [1 2 3 4]
を使用したベクトル y = [25 NaN NaN 100]
について考えます。ベクトルのギャップ サイズはサンプル点から 4 - 1 = 3
として計算されるため、2
の MaxGap
値は欠損値を変更せずに残しますが、3
の MaxGap
値は欠損値を埋めます。
データの先頭または末尾に欠損値がある場合、次のようになります。
入力データの先頭または末尾にある単一欠損値のギャップ サイズは 0 であり、常に埋められます。
入力データの先頭または末尾で発生する欠損値のクラスターは完全には非欠損値で囲まれないため、ギャップ サイズは最も近い既存のサンプル点を使用して計算されます。既定のサンプル点
1:N
の場合、同じクラスターがデータの中央で発生した場合よりも 1 つ小さいギャップ サイズが生成されます。
Distance
— 距離関数
'euclidean'
(既定値) | 'seuclidean'
| 関数ハンドル
最近傍の行を検出する際に使用する距離関数。'euclidean'
(ユークリッド距離)、'seuclidean'
(スケーリングされたユークリッド距離)、または距離関数の関数ハンドルとして指定します。
距離関数の関数ハンドルを指定する場合は、その関数は次の条件を満たさなければなりません。
関数は、2 つの入力を受け入れなければなりません。
関数の最初の入力は、比較する 2 つのベクトルを含む 2 行の行列、table、または timetable でなければなりません。
関数の 2 番目の入力は、ベクトル内の欠損値の位置を示す logical 行列でなければなりません。2 番目の入力は、
~
として指定して無視できます。関数は、
double
型の実数のスカラー値として距離を返す必要があります。
例: fillmissing(A,'knn','Distance',@(x,~) sum(abs(diff(x)),'omitmissing'))
出力引数
F
— 埋め込まれたデータ
ベクトル | 行列 | 多次元配列 | table | timetable
埋め込まれたデータ。ベクトル、行列、多次元配列、table または timetable として返されます。
F
は、ReplaceValues
の値が false
の場合を除き、A
と同じサイズになります。ReplaceValues
の値が false
の場合、F
の幅は入力データの幅と指定したデータ変数の数の合計となります。
TF
— 埋め込まれたデータのインジケーター
ベクトル | 行列 | 多次元配列
埋め込まれたデータのインジケーター。ベクトル、行列または多次元配列として返されます。TF
は logical 配列であり、1
(true
) は元は欠損していた埋め込み済みの F
の要素に対応し、0
(false
) は未変更の要素に対応します。
TF
は、F
と同じサイズになります。
データ型: logical
ヒント
入力データが構造体配列、または文字ベクトル以外の cell 配列である場合、
fillmissing
はいずれのエントリも埋めません。構造体配列内の欠損エントリを埋めるには、関数structfun
を使用して、構造体の各フィールドにfillmissing
を適用します。文字ベクトル以外の cell 配列の欠損エントリを埋めるには、関数cellfun
を使用して、cell 配列の各 cell にfillmissing
を適用します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
使用上の注意事項および制限事項:
'spline'
メソッドと'makima'
メソッドはサポートされていません。関数ハンドルの埋め込みメソッドはサポートされません。
'knn'
埋め込みメソッドおよび名前と値の引数Distance
はサポートされません。名前と値の引数
MaxGap
、SamplePoints
、およびMissingLocations
はサポートされません。名前と値の引数
DataVariables
では関数ハンドルを指定できません。名前と値の引数
EndValues
には'extrap'
のみを指定できます。A
が tall timetable の場合、構文fillmissing(A,movmethod,window)
はサポートされません。構文
fillmissing(A,'constant',v)
では、v
にスカラー値を指定しなければなりません。A
が tall table または tall timetable である場合、構文fillmissing(A,___)
では文字ベクトル変数がサポートされません。
詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
名前と値の引数
MaxGap
はサポートされていません。'makima'
オプションはサポートされていません。入力データの型が
datetime
またはduration
の場合、'constant'
がサポートされる唯一のメソッドです。SamplePoints
値にdatetime
型があるか、入力データがdatetime
行時間をもつ timetable の場合、メソッド'constant'
、'movmean'
、'movmedian'
のみがサポートされます。fillmethod
引数の関数ハンドル入力はサポートされません。'knn'
埋め込みメソッドおよび名前と値の引数Distance
はサポートされません。categorical 入力データの場合、埋め込み定数はデータのカテゴリのいずれかに対応しなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
'pchip'
埋め込みメソッドはサポートされていません。移動ウィンドウ埋め込みメソッド
'movmean'
および'movmedian'
では、名前と値の引数SamplePoints
はサポートされていません。'knn'
埋め込みメソッドおよび名前と値の引数Distance
はサポートされません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
'knn'
埋め込みメソッドおよび名前と値の引数Distance
はサポートされません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016b で導入R2023a: 最も近い行の対応する値を使用して埋める
'knn'
メソッドを使用して、最も近い行の対応する値を使用して欠損エントリを埋めます。オプションで、k
値を指定して、k
個の最も近い行の対応する値の平均を使用して欠損エントリを埋めることができます。
また、名前と値の引数 Distance
を使用して、行間の距離を測定する際に使用するカスタム関数を指定することもできます。
R2022b: 標準欠損値がない文字配列
文字配列には、標準欠損値の既定の定義がありません。このため、fillmissing
は、空白文字の配列要素 (' '
) を非欠損として扱います。たとえば、fillmissing(['a'; ' '],'previous')
は ['a'; ' ']
を返します。以前は、['a'; 'a']
を返していました。
空白文字の配列要素を欠損として扱うには、名前と値の引数 MissingLocations
を使用します。たとえば、TF = ismissing(['a'; ' '],' ')
を使用して空白文字の配列要素を検索し、F = fillmissing(['a'; ' '],'previous',MissingLocations=TF)
のように既知の欠損インジケーターを指定します。
R2022a: 埋め込み値の追加
table または timetable 入力データの場合、欠損エントリをチェック済みのすべての table 変数を含む入力 table を追加します。追加される変数の欠損エントリは埋められます。名前と値の引数 ReplaceValues
を false
に設定することにより、table 変数を置き換えるのではなく追加します。
R2021b: table 変数としてのサンプル点の指定
入力データが table の場合は、名前と値の引数 SamplePoints
を使用して、サンプル点を table 変数として指定します。
R2021a: カスタム埋め込みメソッドの指定
fillfun
を関数ハンドルとして指定し、カスタム メソッドにより欠損値を埋めます。
参考
関数
fillmissing2
|ismissing
|standardizeMissing
|anymissing
|rmmissing
|filloutliers
|isnan
|missing
|isnat
|smoothdata
ライブ エディター タスク
アプリ
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)