Main Content

lag

타임테이블의 시간 이동 데이터

설명

예제

TT2 = lag(TT1)TT1의 각 변수 데이터를 한 개의 시간 스텝만큼 시간의 순방향으로 이동합니다. 시간의 순방향으로 이동하는 것을 지연이라고 합니다. TT1의 행 시간값은 규칙적이어야 합니다.

타임테이블 TT1TT2의 행 시간값은 동일합니다. 각 변수의 데이터를 순방향으로 이동하면 lagTT2의 첫 번째 행을 누락된 데이터 표시자로 채웁니다.

예제

TT2 = lag(TT1,n)은 데이터를 n개의 시간 스텝만큼 이동합니다. n은 정수여야 합니다. n이 양수이면 lag는 데이터를 시간의 순방향으로 이동합니다(지연). n이 음수이면 lag는 데이터를 시간의 역방향으로 이동합니다(선행).

예제

TT2 = lag(TT1,dt)는 데이터를 시간 간격 dt만큼 이동합니다. dt는 duration형이거나 calendarDuration형입니다. dtTT1의 규칙적인 시간 스텝의 배수여야 합니다.

예제

모두 축소

온도 데이터를 변수로 가진 타임테이블을 만듭니다. 데이터를 한 개의 시간 스텝만큼 시간의 순방향으로 이동하고 이를 원래 타임테이블과 비교합니다.

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

비교할 수 있도록 두 타임테이블을 동기화합니다. 타임테이블에 동일한 행 시간값이 이미 있으므로, 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  

온도 데이터를 변수로 가진 타임테이블을 만듭니다. 데이터를 시간상 여러 시간 스텝만큼 이동합니다.

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,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

데이터를 세 개의 시간 스텝만큼 역방향으로 이동합니다.

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

온도 데이터를 변수로 가진 타임테이블을 만듭니다. 데이터를 시간상 달력 기준으로 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 

입력 인수

모두 축소

입력 타임테이블입니다.

규칙적인 타임테이블에서 데이터를 이동하는 시간 스텝의 수로, 정수로 지정됩니다.

규칙적인 타임테이블에서 데이터를 이동하는 시간 간격으로, duration형이나 calendarDuration형으로 지정됩니다.

확장 기능

버전 내역

R2016b에 개발됨