社会人が統計学の基礎を学び、実務で活かす

Rコード:データフレームのグループごと(セルごと)の平均を出す。

スポンサーサーチ

グループごとの平均値などをまとめて算出する方法。

Rを用いて統計解析をする際に、データフレームに格納されているデータの各グループごとに平均値や合計などを計算したいことがあります。

例えば以下のデータフレームにある会社の営業部、サービス部、総務部の従業員の性別と年収が格納されています。

>data
部署 性別 年収
1 営業部 男性 550
2 営業部 男性 600
3 営業部 男性 600
4 営業部 男性 700
5 営業部 男性 800
6 営業部 男性 500
7 営業部 男性 600
8 営業部 男性 750
9 営業部 女性 700
10 営業部 女性 800
11 サービス部 男性 500
12 サービス部 男性 400
13 サービス部 男性 400
14 サービス部 女性 350
15 サービス部 女性 350
16 総務部 男性 600
17 総務部 女性 350
18 総務部 女性 400
19 総務部 女性 400
20 総務部 女性 350

 
このデータフレームは以下のコードで作成することができます。

data=data.frame( 部署=c(rep("営業部",10),
                        rep("サービス部",5),
                        rep("総務部",5)),
                 性別=c(rep("男性",8),rep("女性",2),
                        rep("男性",3),rep("女性",2),
                        rep("男性",1),rep("女性",4)),
                 年収=c(550,600,600,700,800,500,600,750,
                        700,800,
                        500,400,400,
                        350,350,
                        600,
                        350,400,400,350)
                 )

このデータの部署ごと、性別ごと、部署x性別ごとの年収の平均値を出す方法を紹介します。

データフレームの各グループごとの平均値を出したいときは、aggregate()関数を使用します。

部署ごとの平均を出すには以下のコードを両します。

aggregate(年収~部署, # 部署ごとの年収
				data=data, # データフレームdataを利用
				FUN=mean) # 平均値を指定

このコードで以下のように部署ごとの平均年収が出力されます。

> aggregate(年収~部署,data=data,FUN=mean)
部署 年収
1 サービス部 400
2 営業部 660
3 総務部 420

 
同じように性別ごとの年収の平均値は以下の通りです。

aggregate(年収~性別,data=data,FUN=mean)
>aggregate(年収~性別,data=data,FUN=mean)
性別 年収
1 女性 462.5000
2 男性 583.3333

 
次に部署x性別ごとの平均値の出し方です。

aggregate(年収~部署+性別, # 部署x性別ごとの年収を指定
				data=data, # データフレームdataを指定
				FUN=mean) # 平均値を算出

これにより、以下の通り部署x性別ごとの年収の平均値を出すことができます。

> aggregate(年収~部署+性別,data=data,FUN=mean)
部署 性別 年収
1 サービス部 女性 350.0000
2 営業部 女性 750.0000
3 総務部 女性 375.0000
4 サービス部 男性 433.3333
5 営業部 男性 637.5000
6 総務部 男性 600.0000

 
このaggregate()関数においては平均値だけでなく様々な関数の値を出すことができます。

例えば、各部署x性別ごとの年収の最大値を出したい場合にはFUN=meanの代わりにFUN=maxを指定します。

> aggregate(年収~部署+性別,
					data=data,
					FUN=max # 最大値maxを指定)
> aggregate(年収~部署+性別,data=data,FUN=max)
部署 性別 年収
1 サービス部 女性 350
2 営業部 女性 800
3 総務部 女性 400
4 サービス部 男性 500
5 営業部 男性 800
6 総務部 男性 600

プログラミングとソフトウェア

スポンサー募集中。

統計ドットリンクでは広告出稿をご希望のスポンサー様を募集しております。ページビューなどは、「お問い合わせ」からご連絡ください。

更新・勉強会などの情報を受け取る。

以下からFacebookページをフォローもしくは、メールマガジンへの登録をすると、更新情報、勉強会、講習会、交流会の案内など各種情報を受け取ることができます。

↑こちらからFacebookページをフォロー。
 

メルマガ登録はこちら

理系の就職・職業訓練

統計ドットリンクでは、理系の大学生、大学院生、第二新卒の就職や転職を応援しています。職業訓練、求人やエージェントなどの必要な情報を選別し、紹介しています。 就職、職業訓練の情報を確認する。
PAGETOP
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.