ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

table2timetable

table の timetable への変換

構文

TT = table2timetable(T)
TT = table2timetable(T,'RowTimes',timeVarName)
TT = table2timetable(T,'RowTimes',rowTimes)
TT = table2timetable(T,'SampleRate',Fs)
TT = table2timetable(T,'TimeStep',dt)
TT = table2timetable(___,'StartTime',t0)

説明

TT = table2timetable(T) は、table T を timetable に変換します。T 内の最初の datetime または duration 変数が、TT の行時間のベクトルになります。T の残りの変数が TT の変数になります。

  • T が行名のない MN 列の table の場合、TTM(N-1) 列の timetable です。

  • T が行名のある MN 列の table の場合、table2timetableT の行名を TT の変数に割り当てます。その結果、TTMN 列の timetable となります。

timetable の作成および使用の詳細については、timetableを参照してください。

テキストまたはスプレッドシート ファイルのデータから timetable を作成するには、まず関数 readtable を使用してデータを table に読み取ります。その後、table2timetable を使用して table を timetable に変換します。

TT = table2timetable(T,'RowTimes',timeVarName) は、table 変数 timeVarName を出力 timetable の行時間のベクトルとして割り当てます。timeVarName は datetime または duration 値を含む T 内の任意の変数名にすることができます。T の残りの変数が TT の変数になります。

TT = table2timetable(T,'RowTimes',rowTimes) は、ベクトル rowTimes を出力 timetable の行時間のベクトルとして割り当てます。T のすべての変数が TT の変数になります。

TT = table2timetable(T,'SampleRate',Fs) は、サンプルレート Fs を使用して等間隔の行時間を計算します。Fs は 1 秒あたりのサンプル数 (Hz) を指定する正の数値スカラーです。最初の行時間はゼロ秒です。

TT = table2timetable(T,'TimeStep',dt) はタイム ステップ dt を使用して等間隔の行時間を計算します。dt は連続する行時間の間の時間の長さを指定する期間またはカレンダー期間の値です。最初の行時間はゼロ秒です。

TT = table2timetable(___,'StartTime',t0) は最初の行時間としてゼロ秒ではなく開始時間 t0 を指定します。この構文は、前述の 2 つの構文にある名前と値のペアの引数 'SampleRate' または 'TimeStep' のいずれかを使用して規則的な timetable を作成する場合に使用できます。

すべて折りたたむ

日付と時刻を含む table を timetable に変換します。

ファイル outages.csv から停電データを table に読み取ります。table には停電と復旧の両方の時刻が含まれています。

T = readtable('outages.csv');
T(1:5,:)
ans=5×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    'SouthWest'    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'   
    'SouthEast'    2003-01-23 00:49    530.14    2.1204e+05                 NaT    'winter storm'   
    'SouthEast'    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    'winter storm'   
    'West'         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    'equipment fault'
    'MidWest'      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    'severe storm'   

table を timetable に変換します。時刻のある最初の変数 OutageTimeTT の時間ベクトルになります。

TT = table2timetable(T);
TT(1:5,:)
ans=5×5 timetable
       OutageTime         Region        Loss     Customers     RestorationTime           Cause      
    ________________    ___________    ______    __________    ________________    _________________

    2002-02-01 12:18    'SouthWest'    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'   
    2003-01-23 00:49    'SouthEast'    530.14    2.1204e+05                 NaT    'winter storm'   
    2003-02-07 21:15    'SouthEast'     289.4    1.4294e+05    2003-02-17 08:14    'winter storm'   
    2004-04-06 05:44    'West'         434.81    3.4037e+05    2004-04-06 06:10    'equipment fault'
    2002-03-16 06:18    'MidWest'      186.44    2.1275e+05    2002-03-18 23:23    'severe storm'   

その時間ベクトルの行時間を TT のインデックスとして使用します。行時間は、行を指定するラベルとして扱うことができます。

TT('2003-02-07 21:15',:)
ans=1×5 timetable
       OutageTime         Region       Loss     Customers     RestorationTime         Cause     
    ________________    ___________    _____    __________    ________________    ______________

    2003-02-07 21:15    'SouthEast'    289.4    1.4294e+05    2003-02-17 08:14    'winter storm'

停電の継続期間を計算します。ドット構文を使用して、行時間をベクトルとして抽出します。

TT.OutageDuration = TT.RestorationTime - TT.OutageTime;
TT(1:5,:)
ans=5×6 timetable
       OutageTime         Region        Loss     Customers     RestorationTime           Cause          OutageDuration
    ________________    ___________    ______    __________    ________________    _________________    ______________

    2002-02-01 12:18    'SouthWest'    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'         148:32:00   
    2003-01-23 00:49    'SouthEast'    530.14    2.1204e+05                 NaT    'winter storm'               NaN   
    2003-02-07 21:15    'SouthEast'     289.4    1.4294e+05    2003-02-17 08:14    'winter storm'         226:59:00   
    2004-04-06 05:44    'West'         434.81    3.4037e+05    2004-04-06 06:10    'equipment fault'       00:26:00   
    2002-03-16 06:18    'MidWest'      186.44    2.1275e+05    2002-03-18 23:23    'severe storm'          65:05:00   

table を timetable に変換し、timetable の時間ベクトルになる table 変数を指定します。

ファイル outages.csv から停電データを table に読み取ります。table には停電と復旧の両方の時刻が含まれています。

T = readtable('outages.csv');
T(1:5,:)
ans=5×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    'SouthWest'    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    'winter storm'   
    'SouthEast'    2003-01-23 00:49    530.14    2.1204e+05                 NaT    'winter storm'   
    'SouthEast'    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    'winter storm'   
    'West'         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    'equipment fault'
    'MidWest'      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    'severe storm'   

table を timetable に変換します。日付と時刻のある 2 番目の変数 RestorationTime を、timetable の時間ベクトルとして指定します。

TT = table2timetable(T,'RowTimes','RestorationTime');
TT(1:5,:)
ans=5×5 timetable
    RestorationTime       Region          OutageTime        Loss     Customers           Cause      
    ________________    ___________    ________________    ______    __________    _________________

    2002-02-07 16:50    'SouthWest'    2002-02-01 12:18    458.98    1.8202e+06    'winter storm'   
    NaT                 'SouthEast'    2003-01-23 00:49    530.14    2.1204e+05    'winter storm'   
    2003-02-17 08:14    'SouthEast'    2003-02-07 21:15     289.4    1.4294e+05    'winter storm'   
    2004-04-06 06:10    'West'         2004-04-06 05:44    434.81    3.4037e+05    'equipment fault'
    2002-03-18 23:23    'MidWest'      2002-03-16 06:18    186.44    2.1275e+05    'severe storm'   

行時間を含む個別の時間ベクトルを追加して、table を timetable に変換します。すべての table 変数が timetable の変数になります。

Reading1 = [98;97.5;97.9;98.1;97.9];
Reading2 = [120;111;119;117;116];
T = table(Reading1,Reading2)
T=5×2 table
    Reading1    Reading2
    ________    ________

        98        120   
      97.5        111   
      97.9        119   
      98.1        117   
      97.9        116   

Time = [seconds(1):seconds(1):seconds(5)];
TT = table2timetable(T,'RowTimes',Time)
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

テーブルを作成します。

Reading1 = [98;97.5;97.9;98.1;97.9];
Reading2 = [120;111;119;117;116];
T = table(Reading1,Reading2)
T=5×2 table
    Reading1    Reading2
    ________    ________

        98        120   
      97.5        111   
      97.9        119   
      98.1        117   
      97.9        116   

500 Hz のサンプルレートを指定します。そのサンプルレートと 0 秒の行の開始行時間を使用して、T を timetable に変換します。

TT = table2timetable(T,'SampleRate',500)
TT=5×2 timetable
      Time       Reading1    Reading2
    _________    ________    ________

    0 sec            98        120   
    0.002 sec      97.5        111   
    0.004 sec      97.9        119   
    0.006 sec      98.1        117   
    0.008 sec      97.9        116   

テーブルを作成します。

Reading1 = [98;97.5;97.9;98.1;97.9];
Reading2 = [120;111;119;117;116];
T = table(Reading1,Reading2)
T=5×2 table
    Reading1    Reading2
    ________    ________

        98        120   
      97.5        111   
      97.9        119   
      98.1        117   
      97.9        116   

関数 seconds を使用して、10 秒のタイム ステップを指定します。そのサンプリング レートと 0 秒の行の開始行時間を使用して、T を timetable に変換します。

TT = table2timetable(T,'TimeStep',seconds(10))
TT=5×2 timetable
      Time      Reading1    Reading2
    ________    ________    ________

    00:00:00        98        120   
    00:00:10      97.5        111   
    00:00:20      97.9        119   
    00:00:30      98.1        117   
    00:00:40      97.9        116   

テーブルを作成します。

Reading1 = [98;97.5;97.9;98.1;97.9];
Reading2 = [120;111;119;117;116];
T = table(Reading1,Reading2)
T=5×2 table
    Reading1    Reading2
    ________    ________

        98        120   
      97.5        111   
      97.9        119   
      98.1        117   
      97.9        116   

10 秒のタイム ステップと 5 秒の開始時間を指定して timetable に変換します。

dt = seconds(10);
t0 = seconds(5);
TT = table2timetable(T,'TimeStep',dt,'StartTime',t0)
TT=5×2 timetable
     Time     Reading1    Reading2
    ______    ________    ________

    5 sec         98        120   
    15 sec      97.5        111   
    25 sec      97.9        119   
    35 sec      98.1        117   
    45 sec      97.9        116   

入力引数

すべて折りたたむ

入力テーブル。

入力テーブルからの変数の名前。文字ベクトルまたは string スカラーとして指定します。

出力 timetable に割り当てられる行時間。datetime ベクトルまたは duration ベクトルとして指定します。rowTimes の要素数は、入力テーブルの行数と等しくなければなりません。rowTimes の時間値は、一意であったり、並べ替えられていたり、規則的な値である必要はありません。

サンプルレート。正の数値スカラーとして指定します。Fs は 1 秒あたりのサンプル数 (Hz) を指定します。

タイム ステップ。datetime スカラーまたは duration スカラーとして指定します。

データ型: datetime | duration | calendarDuration

開始時間。datetime スカラーまたは duration スカラーとして指定します。

  • t0 が datetime 値である場合、TT の行時間は datetime 値です。

  • t0 が duration である場合、行時間は duration です。

タイム ステップ dt がカレンダー期間の値である場合、t0 は datetime 値でなければなりません。

データ型: datetime | duration

出力引数

すべて折りたたむ

出力 timetable。timetable には、説明、変数の単位、変数名、行時間などのメタデータを保存できます。詳細については、timetable プロパティの節を参照してください。

互換性についての考慮事項

すべて展開する

R2018b での開始は非推奨

拡張機能

R2016b で導入