科学の箱

科学・IT・登山の話題

R

ジニ係数

投稿日:

計量経済学の本を読んでいたら、ジニ係数の利用について記述されていたのでRで実データを使って計算してみる。

経済学の勉強でジニ係数というのは知っていたが、その利用方法としては所得の分配がどの程度平等であるかを数値で表すという理解だった。しかし実際には様々な変数に利用できる。例えば事業所の規模対従業者数のジニ係数を計算することで規模の経済が働く分野の企業が明らかになる。

ジニ係数の説明についてはこちらが詳しかった。

今回は再編が進み巨大化の一途をたどっている製薬会社についてジニ係数を計算してみる。

データはList of pharmaceutical companiesからTop49の製薬および生化学の会社を利用した。

上記ページからデータをエクセルに転記後不要なカラムを削りdata.csvを作成する。

これをrevenueに読み込む。

> revenue<-read.csv(file="data.csv", head=TRUE)
> head(revenue)
                      Company TotalRevenues
1 Pfizer[33] (with Wyeth[34])        70,696
2           Johnson & Johnson        63,747
3           Hoffmann?La Roche        43,970
4                    Novartis        41,460
5             GlaxoSmithKline        40,424
6              Sanofi-Aventis        40,328

次にジニ係数を計算するineqパッケージをインストールする。このパッケージではローレンツ曲線もプロットできる。

> install.packages("ineq")
> library(ineq)

これで準備が完了したので、実際にジニ係数を計算する。

> ineq(revenue$TotalRevenues, type="Gini")
[1] 0.3265306

ジニ係数は大きくなるほど不平等、データに偏りが出てくる。今回は0.326なのでそれほど大きく不平等であるとは言えない。

ローレンツ曲線をプロットしてみる。

> plot(Lc(revenue$TotalRevenues), col="red", lwd=2)

lc

メタ情報

inarticle



メタ情報

inarticle



-R
-

執筆者:


  1. foo-bar-baz より:

    毎度お邪魔しております。
    今回の分析結果ですが,間違えているのではないでしょうか。
    read.csv からの入力を revenue データフレームに代入しておられますが,もとのファイルの TotalRevenues が 3 桁ごとにカンマで区切られていますので,数値として入力されておらず,factor になっていると思います。head で最初の 6 行を書き出しておられますが,出力にカンマが含まれていると言うことは,数値として入力できていない証拠だと思います。

    では,

    > ineq(revenue$TotalRevenues, type=”Gini”)
    [1] 0.3265306

    は何を表すかと言うことですが,factor を数値演算に用いると,要素に与えられた 1 から始まる整数値の方が使われます。つまり,この場合は ineq(1:49, type=”Gini”) としたのと同じになる訳です。実際,下のように, ineq(1:49, type=”Gini”) は 0.3265306 を返します。

    > ineq(1:49, type=”Gini”)
    [1] 0.3265306

  2. […] ジニ係数にファクターと数値変換についてコメントをいただいたので調べてみた。 […]

  3. admin より:

    コメントありがとうございます。gini係数の検証はまだすんでいませんが確かにread.csvの出力に問題がありました。

  4. […] ジニ係数について修正した。とりあえずコード。 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

主成分分析

Rで提供されているirisを使って主成分分析を実施する。 主成分分析の手順 データが分離できるか検証する 主成分負荷量と寄与率を求める 新しい変数に名前を付ける 変量プロット 主成分プロット 今回はR …

no image

dataanalysis-002-week3

exploratory analysis グラフの目的 データのおおよそを理解する パターンを探す モデリングを探す デバッグ コミュニケーション boxplot 値のレンジを確認する 他の値とレンジ …

no image

Rによるやさしい統計学/7-分散分析

(1)学部によりテストの結果に有意な差があるかを調べる。 データはcsv形式で作成し、7_1_test_score.csvとする。以下はデータの内容。 法学部,文学部,理学部,工学部 75,62,65 …

no image

Rでグラフを作成するときに参考にするサイト

金子 邦彦 研究室 Web ページ バイオスタティスティクス 奥村 晴彦研究室 Related posts:Rによるやさしい統計学/4-母集団と標本Rでのランダムデータ作成 – 上級編 (改)データの …

no image

与えられたパラメータにもっとも近い値を探す

ベクトルからパラメータにもっとも近い値を探す方法 >  x <- 1:10 >  num <- which( abs(x-5.2) == min(abs(x-5.2)) ) & …

2014年5月
« 4月   6月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

side bar top



アーカイブ

カテゴリー