lag
timetable 内のデータをタイムシフト
説明
TT2 = lag(
は TT1
)TT1
内の各変数のデータを 1 タイム ステップずつ先の時間に進めます。先の時間へのシフトは "ラグ" です。TT1
の行時間は規則的でなければなりません。
timetable TT1
と TT2
には同じ行時間があります。各変数のデータを先にシフトすると、lag
は TT2
の 1 番目の行を欠損データ インジケーターで埋めます。
例
timetable データのシフト
気温データを変数としてもつ timetable を作成します。データを 1 タイム ステップ先にシフトし、元の timetable と比較します。
Time = datetime('2015-12-18 12:00:00') + days(1:5)';
Temp = [43 42.6 42.3 39.1 37.3]';
TT = timetable(Time,Temp)
TT=5×1 timetable
Time Temp
____________________ ____
19-Dec-2015 12:00:00 43
20-Dec-2015 12:00:00 42.6
21-Dec-2015 12:00:00 42.3
22-Dec-2015 12:00:00 39.1
23-Dec-2015 12:00:00 37.3
TT2 = lag(TT)
TT2=5×1 timetable
Time Temp
____________________ ____
19-Dec-2015 12:00:00 NaN
20-Dec-2015 12:00:00 43
21-Dec-2015 12:00:00 42.6
22-Dec-2015 12:00:00 42.3
23-Dec-2015 12:00:00 39.1
比較するため 2 つの timetable を同期します。これらの timetable は既に同じ行時間をもっているため、synchronize
は変数名を変更し、横方向に連結します。
synchronize(TT,TT2)
ans=5×2 timetable
Time Temp_TT Temp_TT2
____________________ _______ ________
19-Dec-2015 12:00:00 43 NaN
20-Dec-2015 12:00:00 42.6 43
21-Dec-2015 12:00:00 42.3 42.6
22-Dec-2015 12:00:00 39.1 42.3
23-Dec-2015 12:00:00 37.3 39.1
複数タイム ステップ分 timetable データをシフト
気温データを変数としてもつ timetable を作成します。データの時間を複数のタイム ステップ分シフトします。
Time = datetime('2015-12-18 12:00:00') + days(1:5)';
Temp = [43 42.6 42.3 39.1 37.3]';
TT = timetable(Time,Temp)
TT=5×1 timetable
Time Temp
____________________ ____
19-Dec-2015 12:00:00 43
20-Dec-2015 12:00:00 42.6
21-Dec-2015 12:00:00 42.3
22-Dec-2015 12:00:00 39.1
23-Dec-2015 12:00:00 37.3
データを先に 2 タイム ステップ分シフトします。
TT2 = lag(TT,2)
TT2=5×1 timetable
Time Temp
____________________ ____
19-Dec-2015 12:00:00 NaN
20-Dec-2015 12:00:00 NaN
21-Dec-2015 12:00:00 43
22-Dec-2015 12:00:00 42.6
23-Dec-2015 12:00:00 42.3
データを前に 3 タイム ステップ分シフトします。
TT2 = lag(TT,-3)
TT2=5×1 timetable
Time Temp
____________________ ____
19-Dec-2015 12:00:00 39.1
20-Dec-2015 12:00:00 37.3
21-Dec-2015 12:00:00 NaN
22-Dec-2015 12:00:00 NaN
23-Dec-2015 12:00:00 NaN
timetable データを時間間隔でシフト
気温データを変数としてもつ timetable を作成します。データの時間を 2 カレンダー月分シフトします。
Time = datetime('2015-12-01 12:00:00') + calmonths(1:5)';
Temp = [43 37 35 39 45]';
TT = timetable(Time,Temp)
TT=5×1 timetable
Time Temp
____________________ ____
01-Jan-2016 12:00:00 43
01-Feb-2016 12:00:00 37
01-Mar-2016 12:00:00 35
01-Apr-2016 12:00:00 39
01-May-2016 12:00:00 45
TT2 = lag(TT,calmonths(2))
TT2=5×1 timetable
Time Temp
____________________ ____
01-Jan-2016 12:00:00 NaN
01-Feb-2016 12:00:00 NaN
01-Mar-2016 12:00:00 43
01-Apr-2016 12:00:00 37
01-May-2016 12:00:00 35
入力引数
TT1
— 入力 timetable
timetable
入力 timetable。
n
— 規則的な timetable においてデータをシフトするタイム ステップ数
整数
規則的な timetable においてデータをシフトするタイム ステップ数。整数として指定します。
dt
— 規則的な timetable においてデータをシフトする時間間隔
duration | カレンダー期間
規則的な timetable においてデータをシフトする時間間隔。duration またはカレンダー期間として指定します。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2016b で導入
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)