Data Preparation

준비한 자료는 E. Saez 교수의 홈페이지에 있는 TabFig2014prel.xls 인데 이를 약간의 작업을 거쳐 R에서 불러들이기 편하게 고쳐놓았다.

options(digits=2)
library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
load("US_top_income_share_2014.rda")
#US.top.income.shares.14 <- read.xlsx("./data/TabFig2014prel.xlsx", sheetIndex = 9, sheetName = "Table A3", startRow = 6, endRow = 107, colIndex = c(1:7, 9:13), header = FALSE)
# v.names <- read.xlsx("./data/TabFig2014prel.xlsx", sheetName = "Table A3", startRow = 4, endRow = 4, colIndex = c(2:7, 9:14), colClasses = character, header = FALSE)
#str(US.top.income.shares.14)
v.names <- c("Year", "P90_100", "P95_100", "P99_100", "P99.5_100", "P99.9_100", "P99.99_100", "P90_95", "P95_99", "P99_99.5", "P99.5_99.9", "P99.9_99.99")
names(US.top.income.shares.14) <- v.names
#str(US.top.income.shares.14)
ls()
## [1] "data.1_10"               "data.1_10.melt"         
## [3] "US.top.income.shares.14" "v.names"

작업을 마친 자료파일은 US.top.income.shares.14이며, 이 자료의 구조와 앞의 몇 열의 값은 다음과 같다.

str(US.top.income.shares.14)
## 'data.frame':    102 obs. of  12 variables:
##  $ Year       : num  1913 1914 1915 1916 1917 ...
##  $ P90_100    : num  NA NA NA NA 40.5 ...
##  $ P95_100    : num  NA NA NA NA 30.6 ...
##  $ P99_100    : num  18 18.2 17.6 19.3 17.7 ...
##  $ P99.5_100  : num  14.7 15.1 14.6 16.4 14.3 ...
##  $ P99.9_100  : num  8.62 8.6 9.22 10.51 8.4 ...
##  $ P99.99_100 : num  2.76 2.73 4.36 4.78 3.37 ...
##  $ P90_95     : num  NA NA NA NA 9.87 ...
##  $ P95_99     : num  NA NA NA NA 12.9 ...
##  $ P99_99.5   : num  3.23 3.08 3 2.94 3.39 ...
##  $ P99.5_99.9 : num  6.11 6.48 5.36 5.86 5.94 ...
##  $ P99.9_99.99: num  5.86 5.87 4.86 5.73 5.04 ...
US.top.income.shares.14[, 1:8]
##     Year P90_100 P95_100 P99_100 P99.5_100 P99.9_100 P99.99_100 P90_95
## 1   1913      NA      NA    18.0      14.7       8.6       2.76     NA
## 2   1914      NA      NA    18.2      15.1       8.6       2.73     NA
## 3   1915      NA      NA    17.6      14.6       9.2       4.36     NA
## 4   1916      NA      NA    19.3      16.4      10.5       4.78     NA
## 5   1917      41      31    17.7      14.3       8.4       3.37    9.9
## 6   1918      40      29    16.0      12.4       6.7       2.45   10.6
## 7   1919      40      30    16.4      12.6       6.6       2.29   10.1
## 8   1920      39      28    14.8      11.1       5.4       1.66   10.7
## 9   1921      43      31    15.6      11.7       5.6       1.69   12.4
## 10  1922      44      32    17.1      13.1       6.6       2.27   11.8
## 11  1923      41      30    15.6      11.9       5.9       2.00   11.7
## 12  1924      44      32    17.4      13.4       6.8       2.32   12.3
## 13  1925      46      35    20.2      15.9       8.5       3.31   11.3
## 14  1926      46      35    19.9      15.5       8.5       3.36   11.1
## 15  1927      47      36    21.0      16.6       9.3       3.75   11.0
## 16  1928      49      39    23.9      19.4      11.5       5.02   10.7
## 17  1929      47      36    22.4      18.1      10.9       4.99   10.2
## 18  1930      44      32    17.2      13.2       7.1       2.84   11.8
## 19  1931      45      31    15.5      11.6       5.9       2.25   13.3
## 20  1932      46      33    15.6      11.6       6.0       1.99   13.7
## 21  1933      46      33    16.5      12.5       6.6       2.34   12.4
## 22  1934      46      34    16.4      12.3       6.1       2.07   12.1
## 23  1935      44      32    16.7      12.6       6.4       2.19   12.2
## 24  1936      47      35    19.3      14.9       7.6       2.54   12.0
## 25  1937      44      32    17.1      13.0       6.5       2.17   12.0
## 26  1938      44      31    15.8      11.8       5.9       2.19   12.7
## 27  1939      46      32    16.2      12.1       5.9       1.96   13.2
## 28  1940      45      32    16.5      12.3       6.0       2.04   13.1
## 29  1941      42      30    15.8      11.9       5.8       1.98   11.9
## 30  1942      36      26    13.4      10.1       4.8       1.55   10.3
## 31  1943      34      24    12.3       9.1       4.3       1.24    9.6
## 32  1944      33      23    11.3       8.3       3.8       1.16    9.7
## 33  1945      34      25    12.5       9.1       4.2       1.26    9.6
## 34  1946      37      27    13.3       9.6       4.4       1.47    9.9
## 35  1947      34      25    12.0       8.6       3.9       1.30    9.7
## 36  1948      35      25    12.2       8.9       4.1       1.31   10.0
## 37  1949      35      25    11.7       8.5       3.8       1.24   10.2
## 38  1950      36      26    12.8       9.4       4.4       1.22   10.0
## 39  1951      34      24    11.8       8.5       3.9       1.28   10.0
## 40  1952      33      23    10.8       7.7       3.4       1.09   10.1
## 41  1953      32      22     9.9       7.0       3.1       0.97   10.3
## 42  1954      34      23    10.8       7.7       3.5       1.17   10.3
## 43  1955      34      24    11.1       8.0       3.7       1.32   10.3
## 44  1956      33      23    10.7       7.7       3.5       1.20   10.3
## 45  1957      33      23    10.2       7.2       3.2       1.05   10.4
## 46  1958      34      23    10.2       7.3       3.2       1.08   10.6
## 47  1959      34      23    10.6       7.7       3.4       1.19   10.6
## 48  1960      33      23    10.0       7.1       3.2       1.17   10.9
## 49  1961      34      24    10.6       7.7       3.7       1.38   10.8
## 50  1962      34      23     9.9       7.1       3.2       1.16   10.9
## 51  1963      34      23     9.9       7.0       3.1       1.15   10.9
## 52  1964      34      24    10.5       7.4       3.4       1.30   10.9
## 53  1965      35      24    10.9       7.7       3.7       1.49   10.9
## 54  1966      34      23    10.2       7.2       3.4       1.29   10.8
## 55  1967      34      24    10.7       7.7       3.7       1.42   10.7
## 56  1968      35      24    11.2       8.1       4.0       1.61   10.7
## 57  1969      34      23    10.4       7.4       3.7       1.56   10.8
## 58  1970      33      22     9.0       6.3       2.8       1.00   11.0
## 59  1971      33      22     9.4       6.6       3.0       1.11   11.1
## 60  1972      34      23     9.6       6.8       3.1       1.18   11.1
## 61  1973      33      22     9.2       6.3       2.8       0.94   11.1
## 62  1974      33      22     9.1       6.3       2.7       0.88   11.2
## 63  1975      33      22     8.9       6.1       2.6       0.85   11.5
## 64  1976      33      22     8.9       6.1       2.6       0.86   11.4
## 65  1977      34      22     9.0       6.2       2.7       0.92   11.5
## 66  1978      33      22     9.0       6.2       2.6       0.86   11.5
## 67  1979      34      23    10.0       7.1       3.4       1.37   11.3
## 68  1980      35      23    10.0       7.1       3.4       1.28   11.5
## 69  1981      35      23    10.0       7.2       3.6       1.37   11.5
## 70  1982      35      24    10.8       8.0       4.2       1.73   11.5
## 71  1983      36      25    11.6       8.6       4.6       1.88   11.5
## 72  1984      37      25    12.0       9.0       5.0       2.15   11.4
## 73  1985      38      26    12.7       9.6       5.3       2.24   11.4
## 74  1986      41      29    15.9      12.6       7.4       3.34   11.1
## 75  1987      38      27    12.7       9.4       4.9       1.91   11.7
## 76  1988      41      29    15.5      12.1       6.8       2.86   11.3
## 77  1989      40      29    14.5      11.1       6.0       2.45   11.5
## 78  1990      40      28    14.3      10.9       5.8       2.33   11.6
## 79  1991      40      28    13.4      10.0       5.1       1.96   11.8
## 80  1992      41      29    14.7      11.2       6.0       2.46   11.8
## 81  1993      41      29    14.2      10.8       5.7       2.32   11.9
## 82  1994      41      29    14.2      10.7       5.7       2.29   11.9
## 83  1995      42      30    15.2      11.6       6.2       2.46   11.9
## 84  1996      43      32    16.7      12.9       7.2       3.06   11.7
## 85  1997      45      33    18.0      14.2       8.2       3.53   11.5
## 86  1998      45      34    19.1      15.2       9.0       3.92   11.3
## 87  1999      46      35    20.0      16.0       9.6       4.21   11.3
## 88  2000      48      37    21.5      17.5      10.9       5.07   11.0
## 89  2001      45      33    18.2      14.3       8.4       3.70   11.5
## 90  2002      44      32    16.9      13.0       7.3       3.14   11.8
## 91  2003      45      33    17.5      13.7       7.9       3.49   11.8
## 92  2004      46      35    19.8      15.7       9.5       4.34   11.4
## 93  2005      48      37    21.9      17.8      11.0       5.13   11.2
## 94  2006      49      38    22.8      18.6      11.6       5.46   11.2
## 95  2007      50      39    23.5      19.3      12.3       6.04   11.1
## 96  2008      48      37    20.9      16.9      10.4       5.03   11.7
## 97  2009      47      34    18.1      14.2       8.3       3.89   12.4
## 98  2010      48      36    19.9      15.8       9.7       4.78   12.2
## 99  2011      48      36    19.6      15.5       9.3       4.32   12.2
## 100 2012      51      39    22.8      18.6      11.7       5.81   11.8
## 101 2013      49      37    20.1      15.9       9.5       4.48   12.3
## 102 2014      50      38    21.2      17.0      10.3       4.89   12.1

이 중에서 소득 상위 10%(P90_100)를 상위 1%(P99_100), 차상위 4%(P95_99), 차차상위 5%(P90_95)로 나누어 그 몫의 변화를 살펴보자. 우선 밋밋하게 상위 1%의 소득 점유율 변화만 그려보면,

plot(P99_100~Year, data=US.top.income.shares.14)

최소한의 정보를 주기 위하여 각 자료의 최대값, 최소값을 고려하여 y-축의 범위를 ylim=c(5,25)로 설정하고, x-축의 눈금은 비워둔다. 점들을 선으로 이어주고, 점은 다시 삼각형 모양으로 바꾼다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)

이제 x-축에는 연도를 10년 단위로 표시하고, lines()를 이용하여 차상위4%와 차차상위5%의 소득 점유율 변화를 함께 그린다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)
axis(side=1, at=seq(1910, 2010, by=10), labels=seq(1910, 2010, by=10))
lines(P95_99~Year,data=US.top.income.shares.14,type="b", pch=17, col="red")
lines(P90_95~Year,data=US.top.income.shares.14,type="b", pch=17, col="blue")

도표의 가독성을 높이기 위하여 x-축과 y-축을 가로지르는 격자를 설치한다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)
axis(side=1, at=seq(1910, 2010, by=10), labels=seq(1910, 2010, by=10))
lines(P95_99~Year,data=US.top.income.shares.14,type="b", pch=17, col="red")
lines(P90_95~Year,data=US.top.income.shares.14,type="b", pch=17, col="blue")
abline(h=seq(5,25, by=5), lty=2)
abline(v=seq(1910, 2010, by=10), lty=2)

TabFig2014prel.xls의 Table 0 시트에 나와 있는 정보를 활용하여 범례를 만든다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)
axis(side=1, at=seq(1910, 2010, by=10), labels=seq(1910, 2010, by=10))
lines(P95_99~Year,data=US.top.income.shares.14,type="b", pch=17, col="red")
lines(P90_95~Year,data=US.top.income.shares.14,type="b", pch=17, col="blue")
abline(h=seq(5,25, by=5), lty=2)
abline(v=seq(1910, 2010, by=10), lty=2)
legend(x=1945, y=25, legend=c("99-100%:$423,090 이상(2014년 기준)","95-99%:$174,240-$423,090","90-95%:$121,360-$174,240"), pch=17, col=c("black", "red", "blue"))

메인 타이틀을 입력하고, 상위1%의 소득점유율이 최고에 달했던 연도를 표시한다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)
axis(side=1, at=seq(1910, 2010, by=10), labels=seq(1910, 2010, by=10))
lines(P95_99~Year,data=US.top.income.shares.14,type="b", pch=17, col="red")
lines(P90_95~Year,data=US.top.income.shares.14,type="b", pch=17, col="blue")
abline(h=seq(5,25, by=5), lty=2)
abline(v=seq(1910, 2010, by=10), lty=2)
legend(x=1945, y=25, legend=c("99-100%:$423,090 이상(2014년 기준)","95-99%:$174,240-$423,090","90-95%:$121,360-$174,240"), pch=17, col=c("black", "red", "blue"))
title(main="미국 소득 상위 10%의 점유율 분할")
text(x=c(1928, 2007), y=c(24, 23.5), labels=c("1928", "2007"), pos=3)

역사적으로 각 시기를 어떻게 부르고 있는지 텍스트를 추가한다.

plot(P99_100~Year,data=US.top.income.shares.14, xlab="연도", ylab="소득점유(%)", ylim=c(5,25), xaxt="n", type="b",pch=17)
axis(side=1, at=seq(1910, 2010, by=10), labels=seq(1910, 2010, by=10))
lines(P95_99~Year,data=US.top.income.shares.14,type="b", pch=17, col="red")
lines(P90_95~Year,data=US.top.income.shares.14,type="b", pch=17, col="blue")
abline(h=seq(5,25, by=5), lty=2)
abline(v=seq(1910, 2010, by=10), lty=2)
legend(x=1945, y=25, legend=c("99-100%:$423,090 이상(2014년 기준)","95-99%:$174,240-$423,090","90-95%:$121,360-$174,240"), pch=17, col=c("black", "red", "blue"))
title(main="미국 소득 상위 10%의 점유율 분할")
text(x=c(1928, 2007), y=c(24, 23.5), labels=c("1928", "2007"), pos=3)
text(x=1935, y=22, label="(가)", cex=2.0, col="red")
text(x=1960, y=8, label="(나)", cex=2.0, col="red")
text(x=2012, y=17.5, label="(다)", cex=2.0, col="red")

ggplot

Data

library(reshape2)
data.1_10 <- US.top.income.shares.14[c("Year", "P99_100", "P90_95", "P95_99")]
data.1_10.melt <- melt(data.1_10, id.vars = "Year", measure.vars = c("P99_100", "P90_95", "P95_99"), variable.name = "Percentiles", value.name = "Share")
library(ggplot2)
ggplot(data.1_10.melt, aes(x = Year, y = Share, colour = Percentiles)) + geom_line() + geom_point(shape=24, aes(fill = Percentiles)) + ylim(0, 30) + scale_colour_manual(values = c("black", "blue", "red")) + scale_fill_manual(values = c("black", "blue", "red"))
## Warning: Removed 8 rows containing missing values (geom_path).
## Warning: Removed 8 rows containing missing values (geom_point).

뒷 정리

save.image("US_top_income_share_2014.rda")