ドキュメンテーション

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

groupcounts

説明

G = groupcounts(T,groupvars) は、table または timetable にある各データ グループの要素数を計算し、グループとその数が含まれる table を返します。グループは、groupvars のグループ化変数の一意の組み合わせの組です。たとえば、G = groupcounts(T,'Gender') は、変数 Gender 内の Male 要素の数と、Female 要素の数を返します。

G = groupcounts(T,groupvars,groupbins) は、groupvars 内のデータをビン化する方法を指定します。たとえば、G = groupcounts(T,'SaleDate','year') は、SaleDate に従って年間販売件数を返します。

G = groupcounts(___,Name,Value) は、前述の任意の構文について名前と値のペアを 1 つ以上使用して、追加のグループ化プロパティを指定します。たとえば、G = groupcounts(T,'Category1','IncludeMissingGroups',false) は、<undefined> で指定された欠損 categorical データから作成されたグループを除外します。

B = groupcounts(A) は、列ベクトル、行列、または列ベクトルの cell 配列 A で表されるグループ化ベクトルの一意の組み合わせごとに、グループ カウントを含むベクトルを返します。

B = groupcounts(A,groupbins) は、groupbins に従ってデータをビン化します。

B = groupcounts(___,Name,Value) は、名前と値のペアを 1 つ以上使用して、追加のグループ化プロパティを指定します。

[B,BG] = groupcounts(A,___) は、B 内のカウントに対応するグループも返します。

すべて折りたたむ

table データからグループの要素数を計算します。

5 人の個人に関する情報を含む table を作成します。

Gender = ["male";"female";"male";"female";"male"];
Smoker = logical([1;0;1;0;1]);
Weight = [176;163;131;133;119];
T = table(Gender,Smoker,Weight)
T=5×3 table
     Gender     Smoker    Weight
    ________    ______    ______

    "male"      true       176  
    "female"    false      163  
    "male"      true       131  
    "female"    false      133  
    "male"      true       119  

性別の各グループの要素数をカウントします。

G1 = groupcounts(T,'Gender')
G1=2×2 table
     Gender     GroupCount
    ________    __________

    "female"        2     
    "male"          3     

性別と喫煙状況別の各グループの要素数をカウントします。既定で、groupcounts は要素数がゼロのグループを表示しません。

G2 = groupcounts(T,{'Gender','Smoker'})
G2=2×3 table
     Gender     Smoker    GroupCount
    ________    ______    __________

    "female"    false         2     
    "male"      true          3     

要素数がゼロのグループを含めてすべてのグループでカウントするには、'IncludeEmptyGroups' パラメーターの値を true に指定します。

G3 = groupcounts(T,{'Gender','Smoker'},'IncludeEmptyGroups',true)
G3=4×3 table
     Gender     Smoker    GroupCount
    ________    ______    __________

    "female"    false         2     
    "female"    true          0     
    "male"      false         0     
    "male"      true          3     

指定されたビンに従ってデータをグループ化します。

1 か月以内の日数分の売上情報が含まれる timetable を作成します。

TimeStamps = datetime([2017 3 4; 2017 3 2; 2017 3 15; 2017 3 10;...
                       2017 3 14; 2017 3 31; 2017 3 25;...
                       2017 3 29; 2017 3 21; 2017 3 18]);
Profit = [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';
TotalItemsSold = [14 13 8 5 10 16 8 6 7 11]';
TT = timetable(TimeStamps,Profit,TotalItemsSold)
TT=10×3 timetable
    TimeStamps     Profit    TotalItemsSold
    ___________    ______    ______________

    04-Mar-2017     2032           14      
    02-Mar-2017     3071           13      
    15-Mar-2017     1185            8      
    10-Mar-2017     2587            5      
    14-Mar-2017     1998           10      
    31-Mar-2017     2899           16      
    25-Mar-2017     3112            8      
    29-Mar-2017      909            6      
    21-Mar-2017     2619            7      
    18-Mar-2017     3085           11      

品目番号の区間にグループをビン化し、販売済み品目の合計数別にグループ カウントを計算します。

G = groupcounts(TT,'TotalItemsSold',[0 4 8 12 16])
G=3×2 table
    disc_TotalItemsSold    GroupCount
    ___________________    __________

         [4, 8)                3     
         [8, 12)               4     
         [12, 16]              3     

曜日別にグループ化して、グループ カウントを計算します。

G = groupcounts(TT,'TimeStamps','dayname')
G=5×2 table
    dayname_TimeStamps    GroupCount
    __________________    __________

        Tuesday               2     
        Wednesday             2     
        Thursday              1     
        Friday                2     
        Saturday              3     

性別と喫煙状況に基づいて、4 つのグループのグループ カウントを計算します。

患者情報を異なるタイプの 3 つのベクトルとして保存します。

Gender = ["male";"female";"male";"female";"male"];
Smoker = logical([1;0;1;0;1]);
Weight = [176;163;131;133;119];

性別と喫煙状況でグループ化し、グループ カウントを計算します。B には各グループのカウントが格納されます。BG は、行基準で要素を見た場合のグループを表す 2 つのベクトルを含む cell 配列です。たとえば、BG{1} の最初の行からは、最初のグループの患者が女性であることがわかり、BG{2} の最初の行からは、これらの患者が非喫煙者であることがわかります。このグループ カウントは 2 であり、B の対応する行にあります。

[B,BG] = groupcounts({Gender,Smoker},'IncludeEmptyGroups',true);
B
B = 4×1

     2
     0
     0
     3

BG{1}
ans = 4x1 string array
    "female"
    "female"
    "male"
    "male"

BG{2}
ans = 4x1 logical array

   0
   1
   0
   1

入力引数

すべて折りたたむ

入力データ。table または timetable として指定します。

入力配列。グループ化ベクトルを表す列ベクトル、行列、または列ベクトルの cell 配列として指定します。A が行列の場合、グループ化ベクトルは列基準になります。

table 入力のグループ化変数。スカラー、ベクトル、行列、cell 配列または関数ハンドルとして指定します。

groupvars は入力 table のどの列をグループの計算に使用するかを示し、次のいずれかにすることができます。

  • 単一の table 変数名を指定する文字ベクトルまたはスカラー string

  • 各要素が table 変数名である、文字ベクトルの cell 配列または string 配列

  • table 変数インデックスのベクトル

  • 各要素が table 変数に対応する logical ベクトル。true の場合は対応する変数を含めて、false の場合は対応する変数を除外します。

  • 入力として table 変数をとり、logical スカラーを返す関数ハンドル

例: 'Age'

例: {'Height','Weight'}

ビン化方式。次のいずれかのオプションとして指定します。

  • 'none' (グループは指定したグループ化変数のみに従って返されることを示す)

  • 数値ベクトル、または datetime ベクトル (datetime グループ化変数またはベクトルの場合) として指定されるビン エッジのリスト

  • 整数値スカラーとして指定されるビン数

  • ビンの幅を示す時間範囲。duration 型または calendarDuration 型のスカラーとして指定します (datetime または duration のグループ化変数またはグループ化ベクトルの場合のみ)。

  • 各グループ化変数またはベクトルのビン化ルールをリストする cell 配列

  • 次のいずれかの文字ベクトルとして指定される時間ビン (datetime または duration グループ化変数またはベクトルの場合のみ)

    説明データ型
    'second'

    各ビンは 1 秒です。

    datetimeduration
    'minute'

    各ビンは 1 分です。

    datetimeduration
    'hour'

    各ビンは 1 時間です。

    datetimeduration
    'day'

    各ビンは 1 カレンダー日です。この値には、夏時間のシフトが考慮されます。

    datetimeduration
    'week'各ビンは 1 カレンダー週です。datetime のみ
    'month'各ビンは 1 カレンダー月です。datetime のみ
    'quarter'各ビンは 1 カレンダー四半期です。datetime のみ
    'year'

    各ビンは 1 カレンダー年です。この値には、うるう日が考慮されます。

    datetimeduration
    'decade'各ビンは 10 年 (10 カレンダー年) です。datetime のみ
    'century'各ビンは 1 世紀 (100 カレンダー年) です。datetime のみ
    'secondofminute'

    ビンは 0 から 59 までの秒です。

    datetime のみ
    'minuteofhour'

    ビンは 0 から 59 までの分です。

    datetime のみ
    'hourofday'

    ビンは 0 から 23 までの時間です。

    datetime のみ
    'dayofweek'

    ビンは 1 から 7 までの曜日です。週の始まりは日曜日です。

    datetime のみ
    'dayname'ビンは 'Sunday' などの完全な曜日名です。datetime のみ
    'dayofmonth'ビンは 1 から 31 までの日です。datetime のみ
    'dayofyear'ビンは 1 から 366 までの日です。datetime のみ
    'weekofmonth'ビンは 1 から 6 までの週です。datetime のみ
    'weekofyear'ビンは 1 から 54 までの週です。datetime のみ
    'monthname'ビンは 'January' などの完全な月名です。datetime のみ
    'monthofyear'

    ビンは 1 から 12 までの月です。

    datetime のみ
    'quarterofyear'ビンは 1 から 4 までの四半期です。datetime のみ

複数のグループ化変数またはグループ化ベクトルを指定する場合、すべてのグループ化変数に適用される 1 つのビン化ルールを指定したり、グループ変数ごとのビン化方法が格納される cell 配列 ({'none',[0 2 4 Inf]} など) を指定したりできます。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: G = groupcounts(T,groupvars,groupbins,'IncludedEdge','right')

含めるビン エッジ。'left' または 'right' のいずれかとして指定し、ビン区間のどちらの端が含まれるかを示します。

この名前と値のペアは groupbins が指定されている場合にのみ指定できます。この値は、すべてのグループ化変数またはベクトルで、すべてのビン化方式に適用されます。

欠損グループ インジケーター。数値または logical 1 (true) または 0 (false) として指定します。パラメーター値が true の場合、groupcountsNaN などの欠損値で構成されたグループを表示します。パラメーター値が false の場合、groupcounts は欠損値のグループを表示しません。

空のグループ インジケーター。数値または logical 0 (false) または 1 (true) として指定します。パラメーター値が false の場合、groupcounts は要素数がゼロのグループを表示しません。パラメーター値が true の場合、groupcounts は空のグループを表示します。

出力引数

すべて折りたたむ

出力 table。計算されたグループと、各グループの要素数を含む table として返されます。

非 table 入力データのグループ カウント。各グループの要素数を含む列ベクトルとして返されます。

非 table 入力データのグループ。列ベクトル、または列ベクトルの cell 配列として返されます。

複数の入力ベクトルが指定された場合、BG は長さの等しい列ベクトルを含む cell 配列になります。グループ情報を確認するには、BG のすべてのベクトルの要素を行単位で参照します。各グループのカウントは、最初の出力引数 B の対応する行に格納されます。

ヒント

  • groupcounts を何度も呼び出す場合、可能であればパフォーマンス向上のためグループ変数を categorical 型または logical 型に変換することを検討してください。たとえば、char 型のグループ化変数 (要素が 'Male''Female' である Gender など) がある場合、categorical(Gender) コマンドを使用してこれを categorical 変数に変換することができます。

拡張機能

R2019a で導入