主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

findgroups

グループを見つけてグループ番号を返す

説明

G= findgroups (一个は,グループ化変数一个から作成されたグループ番号のベクトルGを返します。出力引数Gには1 ~Nの整数値が含まれ,一个N個の一意の値に対応するN個の異なるグループがあることを示します。たとえば,一个{' b ', ' ', ' ', ' b '}である場合,findgroupsG[2 1 1 2]として返します。Gを使用して,他の変数のデータグループを分割できます。分割——適用——結合のワークフローsplitapplyの入力引数として,Gを使用します。

findgroupsは,空の文字ベクトルと,一个内にある値、NaT値および未定義のカテゴリカル値を欠損値として扱い,対応するGの要素としてを返します。

G= findgroups (A1,…)A1,…,一个からグループ番号を作成します。関数findgroupsは,A1,…,一个の値の一意の組み合わせとしてグループを定義します。たとえば,A1{' a ', ' a ', ' b ', ' b '}A2[0 1 0 0]である場合,findgroups (A1, A2)G[1 2 3 3]として返します。これは“b”0の組み合わせが2つあるからです。

また,GID) = findgroups (一个は,各グループの一意の値をIDに返します。たとえば,一个{' b ', ' ', ' ', ' b '}である場合,findgroupsG[2 1 1 2]として,またID{' a ', ' b '}として返します。引数一个IDは同じデータ型ですが,必ずしも同じサイズとは限りません。

また,G, ID1、……,IDN) = findgroups (A1,…,一个)は,各グループの一意の値をID1、…,印度尼西亚にわたって返します。ID1、…,印度尼西亚の値がグループを定義します。たとえば,A1{' a ', ' a ', ' b ', ' b '}A2[0 1 0 0]である場合,findgroups (A1, A2)G[1 2 3 3]として,またID1およびID2下をそれぞれ{' a ', ' a ', ' b '}および(0 1 0)として返します。

G= findgroups (Tは、表Tの変数から作成されたグループ番号のベクトルGを返します。関数findgroupsは,Tのすべての変数をグループ化変数として扱います。

また,GTID) = findgroups (Tは各グループの一意の値を含む表TIDも返します。TIDには,Tの変数に対する値の一意の組み合わせが含まれます。TおよびTIDの変数は同じ名前ですが,テーブルの行数が必ずしも同じとは限りません。

すべて折りたたむ

グループ番号を使用して,患者の身長の測定値を性別のグループに分割します。各グループの平均身長を計算します。

患者の身長と性別をデータファイルpatients.matから読み込みます。

负载病人性别高度
名称大小字节类属性性别100x1 11412细胞高度100x1 800双

findgroupsで性別のグループを指定します。

G = findgroups(性别);

性别およびGの最初の5つの要素を比較します。性别“女”が含まれる位置に,Gでは1があります。性别“男”が含まれる位置に,Gでは2があります。

性别(1:5)
ans =5 x1细胞{“男性”}{‘男性’}{‘女性’}{‘女性’}{‘女性’}
G (1:5)
ans =5×12 2 1 1 1

Gを使用して,変数高度を2つの身長グループに分割します。関数的意思是を適用します。グループにはそれぞれ,女性患者と男性患者の平均身長が含まれます。

splitapply (@mean、身高、G)
ans =2×165.1509 - 69.2340

性別および喫煙者かどうかのステータスによりグループ化した測定値から,患者グループの平均血圧を計算します。

患者の血圧測定値,性別,および喫煙のデータをデータファイルpatients.matから読み込みます。

负载病人收缩压舒张压性别吸烟者
名称大小字节类属性舒张期100x1 800双性别100x1 11412细胞吸烟者100x1 100逻辑收缩期100x1 800双

患者の性別および喫煙情報を使用して,グループを指定します。Gには1 ~ 4の整数が含まれます。これは,吸烟者および性别の値の可能な組み合わせが4通りあるためです。

G = findgroups(吸烟、性别);G (1:10)
ans =10×14 2 1 1 1 1 3 2 2 1

各グループの平均血圧を計算します。

meanSystolic = splitapply (@mean,收缩压,G);meanDiastolic = splitapply (@mean,舒张压,G);mBP = [meanSystolic meanDiastolic]
mBP =4×2119.4250 79.0500 119.3462 79.8846 129.0000 89.2308 129.5714 90.3333

患者のグループについて身長の中央値を計算し,結果をテーブルに表示します。患者のグループを定義するには,findgroupsの追加の出力引数を使用します。

患者の身長と性別をデータファイルpatients.matから読み込みます。

负载病人性别高度
名称大小字节类属性性别100x1 11412细胞高度100x1 800双

findgroupsで性別のグループを指定します。出力引数性别の値は,findgroupsがグループ化変数から検出するグループを定義します。

(G,性别)= findgroups(性别);

身長の中央値を計算します。身長の中央値を含むテーブルを作成します。

medianHeight = splitapply (@median、身高、G);T =表(性别、medianHeight)
T =2×2表性别medianHeight  __________ ____________ {' 女性的65{‘男性’}69}

患者のグループについて血圧の平均値を計算し,結果をテーブルに表示します。患者のグループを定義するには,findgroupsの追加の出力引数を使用します。

患者100人の血圧測定値,性別,および喫煙のデータをデータファイルpatients.matから読み込みます。

负载病人收缩压舒张压性别吸烟者
名称大小字节类属性舒张期100x1 800双性别100x1 11412细胞吸烟者100x1 100逻辑收缩期100x1 800双

患者の性別および喫煙情報を使用して,グループを指定します。各グループの平均血圧を計算します。出力引数性别および吸烟者の値は,findgroupsがグループ化変数から検出するグループを定義します。

(G,性别,吸烟者)= findgroups(性别、吸烟);meanSystolic = splitapply (@mean,收缩压,G);meanDiastolic = splitapply (@mean,舒张压,G);

各患者グループの平均血圧をもつテーブルを作成します。

T =表(性别、吸烟、meanSystolic meanDiastolic)
T =4×4表性别吸烟者meanSystolic meanDiastolic  __________ ______ ____________ _____________ {' 女性的}假119.42 - 79.05{‘女性’}真129 89.231{‘男性’}假119.35 - 79.885{‘男性’}真正的129.57 - 90.333

テーブル内のグループ化変数を使用して,患者の平均血圧を計算します。

患者100人の性別および喫煙データをテーブルに読み込みます。

负载病人T =表(性别、吸烟);: T (1:5)
ans =5×2表性别吸烟  __________ ______ {' 男性的}真{‘男性’}假{‘女性’}假{‘女性’}假{‘女性’}假

Tの変数性别および吸烟者を使用して,患者のグループを指定します。

G = findgroups (T);

データ変数收缩压および舒张压から平均血圧を計算します。

meanSystolic = splitapply (@mean,收缩压,G);meanDiastolic = splitapply (@mean,舒张压,G);mBP = [meanSystolic meanDiastolic]
mBP =4×2119.4250 79.0500 129.0000 89.2308 119.3462 79.8846 129.5714 90.3333

性別および喫煙者/非喫煙者のステータスでグループ化した患者について,平均血圧のテーブルを作成します。

患者の性別および喫煙データをテーブルに読み込みます。

负载病人T =表(性别、吸烟);

Tの変数性别および吸烟者を使用して,患者のグループを指定します。出力表TIDはグループを識別します。

(G, TID) = findgroups (T);TID
TID =4×2表性别吸烟  __________ ______ {' 女性的}假{‘女性’}真{‘男性’}假{‘男性’}真

データ変数收缩压および舒张压から平均血圧を計算します。平均血圧をTIDに追加します。

工业贸易署。的意思是收缩压= splitapply(@mean,Systolic,G); TID.meanDiastolic = splitapply(@mean,Diastolic,G)
TID =4×4表性别吸烟者meanSystolic meanDiastolic  __________ ______ ____________ _____________ {' 女性的}假119.42 - 79.05{‘女性’}真129 89.231{‘男性’}假119.35 - 79.885{‘男性’}真正的129.57 - 90.333

入力引数

すべて折りたたむ

グループ化変数。ベクトル、文字ベクトルの细胞配列または string 配列として指定します。一个の一意の値がグループを識別します。

一个がベクトルである場合,数値,あるいは分类calendarDurationdatetime持续时间逻辑字符串のデータ型にすることができます。

グループ化変数。テーブルとして指定します。findgroupsは各表変数を個別のグループ化変数として扱います。この変数は数値,あるいは分类calendarDurationdatetime持续时间逻辑字符串のデータ型にすることができます。

出力引数

すべて折りたたむ

グループ番号。正の整数のベクトルとして返されます。グループ化変数内でN個のグループが識別された場合,1 ~Nの各整数が1つのグループを指定します。グループ化変数に空の文字ベクトルか,値、NaT値または未定義のカテゴリカル値が含まれる場合,Gにはが含まれます。

  • グループ化変数がベクトルである場合,Gおよびグループ化変数はすべて同じサイズになります。

  • グループ化変数がテーブル内にある場合,Gの長さはテーブルの行数に等しくなります。

各グループを識別する値。ベクトルまたは文字ベクトルの cell 配列として返されます。IDの値は,一个の一意の値を並べ替えた値です。

各グループを識別する一意の値のテーブル。テーブルとして返されます。TIDの変数には,Tの対応する変数から取得した一意の値を並べ替えた値が格納されます。ただし,TIDおよびTの行数は必ずしも同じとは限りません。

詳細

すべて折りたたむ

分割——適用——結合のワークフロー

“分割——適用——結合“のワークフローはデータ解析で一般的に知られています。このワークフローでは,解析者がデータをグループに分割し,各グループに関数を適用して,その結果を結合します。次の図にワークフローの一般的な例を示します。このワークフロー各部はfindgroupssplitapplyを使用して実装されています。

拡張機能

R2015bで導入