3

私の目標は、収入などのさまざまな社会経済的要因の分布を複数年にわたって比較して、たとえば 5 年間で特定の地域の人口がどのように変化したかを確認することです。この一次データは、Public Use Microdata Sampleから取得されます。R+ggplot2を優先ツールとして使用しています。

2 年間分のデータ (2005 年と 2010 年) を比較すると、2 つのデータ フレームがhh2005ありhh2010、2 年間の世帯データがあります。2 年間の収入データは、hincp両方のデータ フレームの変数に格納されます。を使用しggplot2て、次のように個々の年の密度プロットを作成します (2010 年の例)。

    p1 <- ggplot(data = hh2010, aes(x=hincp))+
      geom_density()+
      labs(title = "Distribution of income for 2010")+
      labs(y="Density")+
      labs(x="Household Income")
    p1 

このプロットに 2005 年の密度を重ねるにはどうすればよいですか? 先に進む方法がわからないためdata、読み込んだとは言えません。hh2010最初から根本的に異なる方法でデータを処理する必要がありますか?

4

2 に答える 2

1

これは私が問題にアプローチする方法です:

  1. 各データ フレームに対象の変数 (この場合は年) をタグ付けします。
  2. 2 つのデータセットをマージする
  3. ggplot 関数の「塗りつぶし」美学を更新する

例えば:

# tag each data frame with the year^
hh2005$year <- as.factor(2005)
hh2010$year <- as.factor(2010)

# merge the two data sets
d <- rbind(hh2005, hh2010)
d$year <- as.factor(d$year)

# update the aesthetic
p1 <- ggplot(data = d, aes(x=hincp, fill=year)) +
  geom_density(alpha=.5) +
  labs(title = "Distribution of income for 2005 and 2010") +
  labs(y="Density") +
  labs(x="Household Income")
p1

^ 'fill' パラメーターは、要素を使用する場合に最適に機能するように思われるため、年数をそのように定義したことに注意してください。また、「アルファ」パラメーターを使用して、重なり合う密度プロットの透明度を設定しました。

于 2015-09-22T19:52:52.980 に答える