この操作は、データフレームで実行する必要があります。 7行5列のデータフレームを作成しましょう。
市場=データ。フレーム((market_id=c((1、2、1、4、3、4、5)。、market_name=c((「M1」、「M2」、「M3」、
「M4」、「M3」、「M4」、「M3」)。、市場=c((‘インド’、‘アメリカ合衆国’、‘インド’、‘オーストラリア’、‘アメリカ合衆国’、
‘インド’、‘オーストラリア’)。、market_type=c((‘買い物’、‘バー’、‘買い物’、「レストラン」、
‘買い物’、‘バー’、‘買い物’)。、market_squarefeet=c((120、342、220、110、342、220、110)。)。
#市場データフレームを表示する
印刷((市場)。
結果
ここで、同様の値を別の列にグループ化して、列の中央値を返します。
方法1:Aggregate()
ここでは、3つのパラメーターを受け取るaggregate()関数を使用します。
構文
集計((dataframe_object $ grouped、 リスト((dataframe_object $ grouping)。、 楽しい=中央値)。
パラメーター
- 最初のパラメーターは、グループごとの中央値を返す変数列(グループ化)を取ります。
- 2番目のパラメーターは、値がこれらの列にグループ化されるように、リスト内の単一または複数の列(グループ化)を取ります。
- 3番目のパラメーターはFUNを取ります。これは、中央値関数を取り、グループ化された値の中央値を返します。
例1
この例では、market_place列の値をグループ化し、market_place列でグループ化されたmarket_squarefeet列の中央値を取得します。
#7行5列のデータフレームマーケットを作成します。
市場=データ。フレーム((market_id=c((1、2、1、4、3、4、5)。、market_name=c((「M1」、「M2」、「M3」、
「M4」、「M3」、「M4」、「M3」)。、市場=c((‘インド’、‘アメリカ合衆国’、‘インド’、‘オーストラリア’、‘アメリカ合衆国’、
‘インド’、‘オーストラリア’)。、market_type=c((‘買い物’、‘バー’、‘買い物’、「レストラン」、
‘買い物’、‘バー’、‘買い物’)。、market_squarefeet=c((120、342、220、110、342、220、110)。)。
#market_placeをグループ化して、グループ内の平方フィートの中央値を取得します
印刷((集計((マーケット$market_squarefeet、 リスト((market $ market_place)。、 楽しい=中央値)。)。
結果
market_place列の同様の値(オーストラリア、インド、および米国)がグループ化され、market_squareフィート列のグループ化された値の中央値が返されることがわかります。
例2
この例では、market_type列の値をグループ化し、market_type列でグループ化されたmarket_squarefeet列の中央値を取得します。
#7行5列のデータフレームマーケットを作成します。
市場=データ。フレーム((market_id=c((1、2、1、4、3、4、5)。、market_name=c((「M1」、「M2」、「M3」、
「M4」、「M3」、「M4」、「M3」)。、市場=c((‘インド’、‘アメリカ合衆国’、‘インド’、‘オーストラリア’、‘アメリカ合衆国’、
‘インド’、‘オーストラリア’)。、market_type=c((‘買い物’、‘バー’、‘買い物’、「レストラン」、
‘買い物’、‘バー’、‘買い物’)。、market_squarefeet=c((120、342、220、110、342、220、110)。)。
#market_typeをグループ化して、グループ内の平方フィートの中央値を取得します
印刷((集計((マーケット$market_squarefeet、 リスト((マーケット$マーケットタイプ)。、 楽しい=中央値)。)。
結果
market_type列の同様の値(bar、grocery、およびrestaurent)がグループ化され、market_squareフィート列のグループ化された値の中央値が返されることがわかります。
例3
この例では、market_type列とmarket_place列の値をグループ化し、market_type列とmarket_place列でグループ化されたmarket_squarefeet列の中央値を取得します。
#7行5列のデータフレームマーケットを作成します。
市場=データ。フレーム((market_id=c((1、2、1、4、3、4、5)。、market_name=c((「M1」、「M2」、「M3」、「M4」、「M3」、
「M4」、「M3」)。、市場=c((‘インド’、‘アメリカ合衆国’、‘インド’、‘オーストラリア’、‘アメリカ合衆国’、‘インド’、‘オーストラリア’)。、
market_type=c((‘買い物’、‘バー’、‘買い物’、「レストラン」、‘買い物’、‘バー’、‘買い物’)。、
market_squarefeet=c((120、342、220、110、342、220、110)。)。
#market_placeとmarket_typeをグループ化して、グループ内の平方フィートの中央値を取得します
印刷((集計((マーケット$market_squarefeet、 リスト((market $ market_place、マーケット$マーケットタイプ)。、 楽しい=中央値)。)。
結果
2つの列の同様の値がグループ化され、market_squareフィート列のグループ化された各値の中央値が返されたことがわかります。
方法2:Dplyr
ここでは、dplyrライブラリで使用可能なsummarise_at()関数とともにgroup_by()関数を使用して、中央値操作でgroup_by()関数を実行します。
構文
dataframe_object%>>%group_by((グループ化)。 %>>%summarise_at((vars((グループ化)。、 リスト((名前 = 中央値)。)。
どこ:
- group_by()は1つのパラメーター、つまりグループ化列を取ります
- summarise_at()は2つのパラメーターを取ります:
- 最初のパラメーターは、グループごとの中央値を返す変数列(グループ化)を取ります。
- 2番目のパラメーターは、リスト全体の中央値関数を取ります。
最後に、最初に中央値で要約し、それをグループにロードします。 次に、グループ化された列をデータフレームオブジェクトにロードします。
ティブルを返します。
例1
この例では、market_place列の値をグループ化し、market_place列でグループ化されたmarket_squarefeet列の中央値を取得します。
図書館((「dplyr」)。
#market_placeをグループ化して、グループ内の平方フィートの中央値を取得します
印刷((市場%>>%group_by((市場)。 %>>%summarise_at((vars((market_squarefeet)。、 リスト((名前 = 中央値)。)。)。
結果
market_place列の同様の値(オーストラリア、インド、米国)がグループ化され、market_squareフィート列のグループ化された各値の中央値が返されることがわかります。
例2
この例では、market_type列の値をグループ化し、market_type列でグループ化されたmarket_squarefeet列の中央値を取得します。
図書館((「dplyr」)。
#market_typeをグループ化して、グループ内の平方フィートの中央値を取得します
印刷((市場%>>%group_by((market_type)。 %>>%summarise_at((vars((market_squarefeet)。、 リスト((名前 = 中央値)。)。)。
結果
market_type列の同様の値(bar、grocery、restaurant)がグループ化され、market_squareフィート列のグループ化された各値の中央値が返されることがわかります。
結論
単一または複数の列を他の数値列とグループ化して、aggregate()関数を使用して数値列から中央値を返すことができます。 同様に、groupby()関数とsummarise_at()関数を使用して、列内の類似した値をグループ化し、グループ化された値から別の列に関する中央値を返すことができます。
The post Groupby()中央値を使用して集計操作を実行する方法 appeared first on Gamingsym Japan.