Main Content

grpstats

グループ別に整理された要約統計量

説明

tblstats = grpstats(tbl,groupvars) は、table tbl 内の変数のグループ要約統計量が格納された table を返します。この関数では、groupvars で指定された tbl 内のグループ化変数に従ってグループが決まります。

tbl 内のすべての変数 (グループ化変数以外) が数値または logical である場合、要約統計量は tbl にある各変数の各グループの平均です。それ以外の場合、要約統計量は各グループの要素数です。tblstats には、グループ化変数にある観測された一意の値または値の組み合わせごとに 1 つの行が含まれます。

tblstats = grpstats(tbl,groupvars,whichstats) は、要約統計量のタイプ whichstats を指定します。

tblstats = grpstats(tbl,groupvars,whichstats,Name,Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、"DataVars",[2,4] は、tbl 内で 2 番目と 4 番目の変数の要約統計量を計算するよう関数に指示します。

stats = grpstats(X,group) は、行列 X の列のグループ要約統計量が格納された配列を返します。この関数では、group 内のグループ化変数でグループが決まります。

X が数値行列または logical 行列である場合、要約統計量は X にある各列の各グループの平均です。それ以外の場合、要約統計量は各グループの要素数です。stats には、グループ化変数の観測された一意の組み合わせごとに 1 つの行が含まれます。

[stats1,...,statsN] = grpstats(X,group,whichstats) は、要約統計量のタイプ whichstats を指定し、要約統計量ごとに 1 つの配列を返します。

[stats1,...,statsN] = grpstats(X,group,whichstats,"Alpha",a) は、信頼区間と予測区間の有意水準 a も指定します。

grpstats(X,group,alpha) は、group 内の変数でグループ化された数値行列または logical 行列 X 内のデータのグループ平均をプロットします。この関数は、各グループ平均の信頼区間 100×(1 – alpha)% もプロットします。グループ化変数の値が横軸に沿ってプロットされます。

  • X が行列である場合、grpstatsX の各列につき平均値と信頼区間をプロットします。

  • group がグループ化変数の cell 配列である場合、grpstats はグループの平均値および信頼区間をプロットします。このグループは、グループ化変数の観測された一意の組み合わせで決定されます。

すべて折りたたむ

table 内にある入力データの要約統計量を計算します。1 つまたは 2 つのグループ化変数を使用して入力データをグループ化し、計算する要約統計量の 1 つまたは 2 つのタイプを指定します。

patients データ セットを読み込みます。

load patients

変数 GenderAgeWeightSmoker を格納する table を作成します。

tbl = table(Gender,Age,Weight,Smoker);

Gender は、2 つの一意の値 Male および Female をもつ cell 配列です。AgeWeight の各変数は数値の値をとり、Smoker は論理値をとります。

Gender でグループ化された tbl 内の数値配列と logical 配列の平均を計算します。

tblstats1 = grpstats(tbl,"Gender")
tblstats1=2×5 table
                Gender      GroupCount    mean_Age    mean_Weight    mean_Smoker
              __________    __________    ________    ___________    ___________

    Male      {'Male'  }        47         38.915       180.53         0.44681  
    Female    {'Female'}        53         37.717       130.47         0.24528  

tblstats1 は、Gender の一意の値に対応する 2 行をもつ table です。GroupCount 列は、各グループの観測値の数を示します。列 mean_Agemean_Weight および mean_Smoker は、Gender でグループ化された AgeWeight および Smoker の平均を示します。

Smoker の値でグループ化された AgeWeight の平均を計算します。名前と値の引数 DataVars を使用して、要約統計量の計算対象となる変数として AgeWeight を指定します。入力 tbl に cell 配列である変数 Gender が含まれており、組み込みの要約統計量 mean は数値配列と logical 配列に対してのみ有効であるため、DataVars を使用する必要があります。

tblstats2 = grpstats(tbl,"Smoker","mean","DataVars",["Age","Weight"])
tblstats2=2×4 table
         Smoker    GroupCount    mean_Age    mean_Weight
         ______    __________    ________    ___________

    0    false         66          37.97       149.91   
    1    true          34         38.882       161.94   

GenderSmoker の値の組み合わせによってグループ化された、体重の最小値と最大値を計算します。

tblstats3 = grpstats(tbl,["Gender","Smoker"],["min","max"], ...
    "DataVars","Weight")
tblstats3=4×5 table
                  Gender      Smoker    GroupCount    min_Weight    max_Weight
                __________    ______    __________    __________    __________

    Male_0      {'Male'  }    false         26           158           194    
    Male_1      {'Male'  }    true          21           164           202    
    Female_0    {'Female'}    false         40           111           147    
    Female_1    {'Female'}    true          13           115           146    

SmokerGender はそれぞれ 2 つの一意の値をもつため、出力 table には、次の可能な組み合わせの 4 行が含まれます。Male Nonsmoker (Male_0)、Male Smoker (Male_1)、Female Nonsmoker (Female_0) および Female Smoker (Female_1)。

名前と値の引数 VarNames を使用して、出力で列に名前を指定します。

tblstats4 = grpstats(tbl,["Gender","Smoker"],["min","max"], ...
    "DataVars","Weight", ...
    "VarNames",["Gender","Smoker","Group Count", ...
    "Lowest Weight","Highest Weight"])
tblstats4=4×5 table
                  Gender      Smoker    Group Count    Lowest Weight    Highest Weight
                __________    ______    ___________    _____________    ______________

    Male_0      {'Male'  }    false         26              158              194      
    Male_1      {'Male'  }    true          21              164              202      
    Female_0    {'Female'}    false         40              111              147      
    Female_1    {'Female'}    true          13              115              146      

行列内にある入力データのグループ平均を計算します。1 つまたは 2 つのグループ化変数を使用して入力データをグループ化します。

100 台の自動車の測定値を含む carsmall データ セットを読み込みます。

load carsmall

変数 Origin および Cylinders でグループ化された変数 Acceleration のグループ平均を計算します。変数 Acceleration は 0 ~ 60 MPH の時間 (秒単位) です。グループ化変数 Origin は各自動車の生産国 (フランス、ドイツ、イタリア、日本、スウェーデン、米国) です。グループ化変数 Cylinders には、各自動車に搭載された気筒の数を示す 3 つの一意の値 46 および 8 が含まれています。

生産国ごとにグループ化された平均加速度を計算します。

means = grpstats(Acceleration,Origin)
means = 6×1

   14.4377
   18.0500
   15.8867
   16.3778
   16.6000
   15.5000

means は 6 行 1 列の平均加速度のベクトルで、各値が生産国に対応します。

生産国と気筒の数でグループ化された平均加速度を計算します。各グループのグループ名と平均加速度を返します。

[means,grps] = grpstats(Acceleration,{Origin,Cylinders}, ...
    ["mean","gname"])
means = 10×1

   17.0818
   16.5267
   11.6406
   18.0500
   15.9143
   15.5000
   16.3375
   16.7000
   16.6000
   15.5000

grps = 10x2 cell
    {'USA'    }    {'4'}
    {'USA'    }    {'6'}
    {'USA'    }    {'8'}
    {'France' }    {'4'}
    {'Japan'  }    {'4'}
    {'Japan'  }    {'6'}
    {'Germany'}    {'4'}
    {'Germany'}    {'6'}
    {'Sweden' }    {'4'}
    {'Italy'  }    {'4'}

2 つのグループ化変数 Origin および Cylinders では 18 種類の組み合わせが可能です。Origin には 6 つの一意の値が、Cylinders には 3 つの一意の値があるためです。この可能な組み合わせの中でデータに含まれるのは 10 個だけなので、means は実際に観測された値の組み合わせに対応して、10 行 1 列のベクトルとなります。出力 grps には、グループ化変数の値が観測された 10 個の組み合わせが含まれています。たとえば、フランスで生産された 4 気筒車の平均加速度は 18.05 です。

行列内にある入力データの複数のグループ要約統計量を計算します。

100 台の自動車の測定値を含む carsmall データ セットを読み込みます。

load carsmall

変数 Origin でグループ化された変数 Acceleration のグループ要約統計量を計算します。変数 Acceleration は 0 ~ 60 MPH の時間 (秒単位) で、グループ化変数 Origin は各自動車の生産国 (フランス、ドイツ、イタリア、日本、スウェーデン、米国) です。

生産国ごとにグループ化された最小と最大の加速度を返します。

[grpMin,grpMax,grp] = grpstats(Acceleration,Origin, ...
    ["min","max","gname"])
grpMin = 6×1

    8.0000
   15.3000
   13.9000
   12.2000
   15.7000
   15.5000

grpMax = 6×1

   22.2000
   21.9000
   18.2000
   24.6000
   17.5000
   15.5000

grp = 6x1 cell
    {'USA'    }
    {'France' }
    {'Japan'  }
    {'Germany'}
    {'Sweden' }
    {'Italy'  }

加速度が一番低い自動車は米国製、一番高い自動車はドイツ製です。

table 内にある入力データの要約統計量を計算します。グループ化変数に対して [] を渡して、grpstats でグループ化を使用せずに要約統計量が計算されるようにします。

patients データ セットを読み込みます。

load patients

変数 AgeWeightSmoker を格納する table を作成します。

tbl = table(Age,Weight,Smoker);

AgeWeight の各変数は数値の値をとり、Smoker は論理値をとります。

数値配列 Age および Weight と logical 配列 Smoker には、グループ化を行わずに平均、最小値および最大値を計算します。

tblstats = grpstats(tbl,[],["mean","min","max"])
tblstats=1×10 table
           GroupCount    mean_Age    min_Age    max_Age    mean_Weight    min_Weight    max_Weight    mean_Smoker    min_Smoker    max_Smoker
           __________    ________    _______    _______    ___________    __________    __________    ___________    __________    __________

    All       100         38.28        25         50           154           111           202           0.34          false         true    

観測名の All は、grpstats が要約統計量の計算に tbl 内に存在する観測をすべて使用することを示します。

行列内にある入力データの各グループの平均と予測区間を計算してプロットします。

100 台の自動車の測定値を含む carsmall データ セットを読み込みます。

load carsmall

変数 Model_Year でグループ化された変数 Weight のグループ要約統計量を計算します。変数 Weight には自動車の重量値が含まれ、グループ化変数 Model_Year は 1970、1976 および 1982 のモデル年式を表す 3 つの一意の値 707682 をもちます。

各モデル年式の平均重量と 90% の予測区間を計算します。

[means,pred,grp] = grpstats(Weight,Model_Year, ...
    ["mean","predci","gname"],"Alpha",0.1);

モデル年式によりグループ化された、平均重量と 90% の予測区間を示す誤差範囲をプロットします。横軸の目盛りラベルをグループ名として指定します。

f = figure;
ngrps = length(grp); % Number of groups
errorbar((1:ngrps)',means,pred(:,2)-means)
xlim([0.5 3.5])
f.CurrentAxes.XTick = 1:ngrps;
f.CurrentAxes.XTickLabel = grp;
title("90% Prediction Intervals for Weight by Year")
xlabel("Year")
ylabel("Weight")

Figure contains an axes object. The axes object with title 90% Prediction Intervals for Weight by Year, xlabel Year, ylabel Weight contains an object of type errorbar.

行列内にある入力データのグループ平均と信頼区間をプロットします。1 つまたは 2 つのグループ化変数を使用して入力データをグループ化し、要約統計量をプロットする 1 つまたは 2 つの変数を指定します。

100 台の自動車の測定値を含む carsmall データ セットを読み込みます。

load carsmall

変数 Acceleration は 0 ~ 60 MPH の時間 (秒単位) です。グループ化変数 Cylinders は各自動車に搭載された気筒の数です。

気筒によりグループ化された、信頼区間 95% の平均加速度をプロットします。

grpstats(Acceleration,Cylinders,0.05);
legend("Acceleration")

Figure contains an axes object. The axes object with title Means and Confidence Intervals for Each Group, xlabel Group, ylabel Mean contains an object of type errorbar. This object represents Acceleration.

8 気筒が搭載された車の平均加速度は、4 気筒車や 6 気筒車よりも大幅に低いことがわかります。

変数 Weight は各自動車の重量値です。気筒によりグループ化された、信頼区間 95% の平均加速度と重量をプロットします。WeightAcceleration の平均値が同じ桁で扱えるよう、Weight の値を 1000 で除算します。

grpstats([Acceleration,Weight/1000],Cylinders,0.05);
legend("Acceleration","Weight/1000")

Figure contains an axes object. The axes object with title Means and Confidence Intervals for Each Group, xlabel Group, ylabel Mean contains 2 objects of type errorbar. These objects represent Acceleration, Weight/1000.

気筒の数が増えるにつれて自動車の平均重量は多くなり、平均加速度は低下します。

変数 Model_Year は 1970、1976 および 1982 のモデル年式を表す 3 つの一意の値 70、76、82 をもちます。気筒とモデル年式でグループ化された平均加速度をプロットします。信頼区間は 95% に指定します。

grpstats(Acceleration,{Cylinders,Model_Year},0.05);
legend("Acceleration")

Figure contains an axes object. The axes object with title Means and Confidence Intervals for Each Group, ylabel Mean contains 9 objects of type errorbar, text. This object represents Acceleration.

2 つのグループ化変数 Cylinders および Model_Year では 9 種類の値の組み合わせが可能です。各変数には 3 つの一意の値があるためです。プロットには 8 気筒を搭載した車の 1982 年モデルが表示されません。これはデータにそのような組み合わせが含まれていないためです。

1976 年モデルの 8 気筒車の平均加速度は、1970 年モデルの 8 気筒車よりも大幅に高いことがわかります。

カスタム要約統計量を定義するには、無名関数を使用します。grpstats に無名関数を渡して、入力データの各グループのカスタム要約統計量を計算します。

patients データ セットを読み込みます。

load patients

変数 AgeSmokerLastName を格納する table を作成します。

tbl = table(Age,Smoker,LastName);

入力行列の各列の合計を計算するカスタム関数を使用して、各年齢グループの喫煙者数を求めます。

f_sum = @(x)sum(x,1);
tblstats1 = grpstats(tbl,"Age",f_sum,"DataVars","Smoker", ...
    "VarNames",["Age","Group Count","Number of Smokers"])
tblstats1=25×3 table
          Age    Group Count    Number of Smokers
          ___    ___________    _________________

    25    25          6                 1        
    27    27          1                 1        
    28    28          5                 2        
    29    29          3                 0        
    30    30          4                 1        
    31    31          4                 2        
    32    32          4                 1        
    33    33          3                 3        
    34    34          1                 0        
    35    35          2                 0        
    36    36          4                 0        
    37    37          5                 2        
    38    38          6                 2        
    39    39          8                 3        
    40    40          4                 1        
    41    41          3                 0        
      ⋮

tblstats1 は、Age の一意の値に対応する 25 行をもつ table です。Group Count 列は各年齢グループの観測値の数を示し、最後の列は各グループの喫煙者数を示します。

cell 配列の要素の平均長さを計算するカスタム関数を使用して、各年齢グループの姓の平均長さを特定します。

f_length = @(x)mean(cellfun("length",x));
tblstats2 = grpstats(tbl,"Age",f_length,"DataVars","LastName", ...
    "VarNames",["Age","Group Count","Mean Length of Last Name"])
tblstats2=25×3 table
          Age    Group Count    Mean Length of Last Name
          ___    ___________    ________________________

    25    25          6                  5.6667         
    27    27          1                       6         
    28    28          5                     5.4         
    29    29          3                  5.6667         
    30    30          4                     6.5         
    31    31          4                    5.25         
    32    32          4                     6.5         
    33    33          3                  6.3333         
    34    34          1                       9         
    35    35          2                     7.5         
    36    36          4                    6.25         
    37    37          5                     8.2         
    38    38          6                  5.8333         
    39    39          8                   6.125         
    40    40          4                     5.5         
    41    41          3                  5.3333         
      ⋮

入力引数

すべて折りたたむ

入力データ。table を指定します。tbl には、groupvars を使用して指定するグループ化変数を少なくとも 1 つ含めなければなりません。要約統計量の計算対象となる変数を選択するには、名前と値の引数 DataVars を使用します。

tbl 内の各変数は、数値ベクトル、logical ベクトル、categorical ベクトル、datetime ベクトル、duration ベクトル、カレンダー期間ベクトル、文字配列、string 配列、または文字ベクトルの cell 配列のいずれかになります。カレンダー期間ベクトルをグループ化変数として指定することはできません。

table 入力 tbl のグループ化変数の識別子。次の表のいずれかの値として指定します。

説明
文字ベクトル、string 配列、または文字ベクトルの cell 配列グループ化変数の名前
正の整数のベクトルグループ化変数の変数番号
要素の数が tbl の変数の数と等しい logical 値のベクトルグループ化変数の場合は true、それ以外の場合は false の値をもつ logical インジケーター
[]グループなし (すべてのデータの要約統計量を返します)

groupvars でグループ化変数として指定される変数のデータ型は、グループ化変数のデータ型として有効である数値ベクトル、logical ベクトル、categorical ベクトル、datetime ベクトル、duration ベクトル、文字配列、string 配列、または文字ベクトルの cell 配列でなければなりません。

たとえば、6 つの変数をもつ入力 table tbl があるとします。4 つ目の変数の名前は Gender です。変数 Gender をグループ化変数として指定するには、以下の構文のいずれかを使用できます。

  • tblstats = grpstats(tbl,"Gender")

  • tblstats = grpstats(tbl,4)

  • tblstats = grpstats(tbl,logical([0 0 0 1 0 0]))

データ型: single | double | logical | char | string | cell

計算する要約統計量のタイプ。次の値のいずれかとして指定します。

  • 以下の表に記述されている、組み込みの要約統計量を指定する文字ベクトルまたは string スカラー。

    組み込みの要約統計量説明
    "gname"グループ名
    "numel"NaN 以外の要素のカウントまたは数

    入力データを table tbl として指定した場合、出力 table tblstats にはグループ名とグループ カウントが既定で含まれます。"gname""numel" を指定する必要はありません。

    数値変数と logical 変数の場合は、次に示す組み込みの要約統計量のいずれかも指定できます。

    組み込みの要約統計量説明
    "mean"平均
    "sem"平均の標準誤差
    "std"標準偏差
    "var"分散
    "min"最小
    "max"最大
    "range"範囲
    "meanci"平均値の 95% の信頼区間。名前と値の引数 Alpha を使用して、異なる有意水準を指定できます。
    "predci"新しい観測値の 95% の予測区間。名前と値の引数 Alpha を使用して、異なる有意水準を指定できます。

  • 他のタイプの要約統計量を指定するための関数ハンドル。データの列または行列を受け入れ、grpstats によって呼び出されるたびに同じサイズの出力 (一部のグループの出力が空白であっても) を返す任意の関数へのハンドルを使用できます。

    • 関数がデータの列を受け入れる場合、関数はスカラー値、または長さが nvals の記述統計に対して nvals 行 1 列のベクトルを返します (たとえば信頼区間の長さは 2 です)。関数が行列を受け入れる場合、関数は 1 行 ncols 列の行ベクトルか、nvals 行 ncols 列の行列を返さなければなりません (ここで ncols は入力データ行列の列数です)。

    • 列方向の統計を計算しない関数の場合は、関数を指定する際に計算方向を指定します。たとえば、関数 sum を使用して、関数ハンドルを @(x)sum(x,1) として指定します。これは、sum が 2 行以上の行列については列方向の統計を計算しますが、単一行の行列については計算しないためです。

  • string 配列、または複数のタイプの要約統計量を指定する文字ベクトルまたは関数ハンドルの cell 配列。

例: stat1 = grpstats(X,group,"sem")

例: stat1 = grpstats(X,group,@(x)sum(x,1))

例: [stat1,stat2,stat3] = grpstats(X,group,{"mean","std",@skewness})

ベクトルまたは行列として指定される入力データ。X が行列の場合、grpstatsX の各列の要約統計量を返します。

データ型: single | double | logical | char | string | cell | categorical | datetime | duration | calendarDuration

入力配列 X のグループ化変数。数値ベクトル、logical ベクトル、categorical ベクトル、datetime ベクトル、duration ベクトル、文字配列、string 配列、文字ベクトルの cell 配列、または複数のグループ化変数の cell 配列を指定します。

grpstats は、グループ化変数の値を使用して X のデータをグループ化します。グループ化を使用せずにすべてのデータの要約統計量を計算する場合は [] を使用します。

また、複数のグループ化変数を使用して要約統計量用にデータをグループ化することもできます。その場合、グループ化変数の cell 配列を指定します。

たとえば、2 つのグループ化変数 Gender および Smoker について考えます。変数 Gender は値 "Male" および "Female" をもつ string 配列です。変数 Smoker は logical ベクトルで、値 0 は非喫煙者、値 1 は喫煙者をそれぞれ表します。{Gender,Smoker} という cell 配列を指定すると、grpstats は観測値を次の 4 つのグループに分割します。Male Smoker、Male Nonsmoker、Female Smoker および Female Nonsmoker。grpstats は、可能なすべての組み合わせではなく、グループ化変数に含まれている値の組み合わせについてのみ要約統計量を返します。

データ型: single | double | logical | char | string | cell | categorical | datetime | duration

プロットの有意水準。(0,1) の範囲のスカラー値として指定します。

グループ平均および対応する 100×(1 – alpha)% の信頼区間をプロットするには、構文 grpstats(X,group,alpha) を使用します。

データ型: double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: "DataVars",[1,3,4],"Alpha",0.01 は、入力 table の 1、3、4 番目の変数について要約統計量を 99% の信頼区間で計算します。

信頼区間と予測区間の有意水準。(0,1) の範囲のスカラー値として指定します。

whichstats"meanci" または "predci" を指定する場合、Alpha を使用して信頼区間または予測区間の有意水準をそれぞれ指定できます。α の値を指定すると、grpstats は 100×(1 – α)% の信頼区間または予測区間を返します。Alpha の値を指定しないと、grpstats は 95% の区間 (α = 0.05) を返します。

例: "Alpha",0.1

データ型: double

要約統計量の計算対象となる tbl 内の table 変数。次の表のいずれかの値として指定します。

説明
文字ベクトル、string 配列、または文字ベクトルの cell 配列table 変数の名前
正の整数のベクトルtbl 内の table 変数の変数番号
要素の数が tbl の変数の数と等しい logical 値のベクトルtable 変数を含める場合は true、それ以外の場合は false の値をもつ logical インジケーター

例: "DataVars",["Height","Weight"]

データ型: double | string | cell | char

出力 table tblstats の変数 (列) 名。string 配列または文字ベクトルの cell 配列として指定します。既定の設定では、grpstats は、入力データ tbl からの変数名に接頭辞を追加して出力変数の名前を生成します。この接頭辞は要約統計量の名前に対応します。

例: "VarNames",["Gender","GroupCount","MaleMean","FemaleMean"]

データ型: string | cell

出力引数

すべて折りたたむ

table 入力 tbl のグループ要約統計量。table として返されます。

tblstats には、グループ化変数にある観測された一意の値または値の組み合わせごとに 1 つの行が含まれ、次の列が含まれます。

  • groupvars で指定されるすべてのグループ化変数

  • 各グループの観測の数を含む変数 GroupCount

  • tbl に存在する (グループ化変数を除く) すべての変数のグループ要約統計量値、または DataVars で指定された変数に限定されたグループ要約統計量値

tblstats 内の列の合計数は、ngroupvars + 1 + ndatavars×nstats です。ここで ngroupvars は groupvars にある観測された一意の値または値の組み合わせの数、ndatavars は要約統計量の計算対象となる変数の数、nstats は whichstats で指定された要約統計量タイプの数です。

grpstats は、名前と値の引数 VarNames を使って列名を指定する場合を除き、tblstats 内の列に既定の名前を割り当てます。

行列入力 X のグループ要約統計量値。ngroups 行 ncols 列の配列として返されます。ここで、ngroups は group で指定されたグループ化変数にある観測された一意の値または値の組み合わせの数、ncols は X の列数です。stats の各列は、X の対応する列に対する要約統計量を含みます。

X が数値行列または logical 行列である場合、要約統計量は各グループの平均です。それ以外の場合、要約統計量は各グループの要素数です。

行列入力 X の複数のグループ要約統計量。ngroups 行 ncols 列の配列として返されます。ここで、ngroups は group で指定されたグループ化変数にある観測された一意の値または値の組み合わせの数、ncols は X の列数です。出力配列の各列は、X の対応する列に対する要約統計量を含みます。

whichstats で指定されている要約統計量の各タイプについて出力引数を指定しなければなりません。

whichstats の要約統計量タイプが nvals の長さをもつ値を返す場合 (たとえば信頼区間は長さが 2 の記述統計です)、これに対応する出力引数は ngroups X ncols X nvals の配列になります。

アルゴリズム

  • grpstats は、グループ化変数にある観測された一意の値または値の組み合わせごとに要約統計量値を計算します。

    • 単一のグループ化変数を指定した場合、grpstats の出力には、グループ化変数の観測された一意の値ごとに 1 つの行が含まれます。grpstats は、出現順 (グループ化変数が文字ベクトルまたは string スカラーである場合)、数値の昇順 (グループ化変数が数値である場合) またはカテゴリ順 (グループ化変数が categorical である場合) にグループを並べ替えます。

    • 複数のグループ化変数を指定した場合、grpstats の出力には、グループ化変数にある観測された一意の値の組み合わせごとに 1 つの行が含まれます。たとえば、2 つのグループ化変数を指定して、その各変数が 2 つの値をもつ場合、出力に含まれるグループ化変数の値の可能な組み合わせは 4 つです。この関数は、可能なすべての組み合わせではなく、入力されたグループ化変数に含まれている観測された組み合わせについてのみ要約統計量を計算します。grpstats は、最初に 1 番目のグループ化変数の値、次に 2 番目のグループ化変数の値 (以後も同様) という順序でグループを並べ替えます。

  • grpstatstblX、および group の欠損値を無視します。欠損値はデータ型に応じて異なります。

    • NaN (doublesingleduration、および calendarDuration の場合)

    • NaT (datetime の場合)

    • <missing> (string の場合)

    • <undefined> (categorical の場合)

    • ' ' (char の場合)

    • {''} (文字ベクトルの cell の場合)

代替機能

MATLAB® には関数 groupsummary が含まれます。この関数もグループ要約を返す関数であり、table を処理する際に推奨されます。groupsummary を使用すると、欠損値で構成されるグループと出力にゼロ要素があるグループを含めるかどうかを指定できます。また、この関数は、さまざまなグループ ビン化スキームや、カスタム要約統計量を得るために複数の入力引数を必要とする無名関数をサポートします。

拡張機能

バージョン履歴

R2006a より前に導入