Packages
library(dplyr)
library(ggplot2)
library(WDI)
Variables
# NY.GDP.PCAP.CN - GDP per capita (current LCU)
WDI(
country = "US",
indicator = "NY.GDP.PCAP.CN",
start = 1990,
end = 2021,
extra = FALSE,
cache = NULL,
latest = NULL,
language = "en"
)
## country iso2c iso3c year NY.GDP.PCAP.CN
## 1 United States US USA 2021 70219.47
## 2 United States US USA 2020 63528.63
## 3 United States US USA 2019 65120.39
## 4 United States US USA 2018 62823.31
## 5 United States US USA 2017 59907.75
## 6 United States US USA 2016 57866.74
## 7 United States US USA 2015 56762.73
## 8 United States US USA 2014 55123.85
## 9 United States US USA 2013 53291.13
## 10 United States US USA 2012 51784.42
## 11 United States US USA 2011 50065.97
## 12 United States US USA 2010 48650.64
## 13 United States US USA 2009 47194.94
## 14 United States US USA 2008 48570.05
## 15 United States US USA 2007 48050.22
## 16 United States US USA 2006 46302.00
## 17 United States US USA 2005 44123.41
## 18 United States US USA 2004 41724.63
## 19 United States US USA 2003 39490.27
## 20 United States US USA 2002 37997.76
## 21 United States US USA 2001 37133.62
## 22 United States US USA 2000 36329.96
## 23 United States US USA 1999 34515.39
## 24 United States US USA 1998 32853.68
## 25 United States US USA 1997 31459.14
## 26 United States US USA 1996 29967.71
## 27 United States US USA 1995 28690.88
## 28 United States US USA 1994 27694.85
## 29 United States US USA 1993 26387.29
## 30 United States US USA 1992 25418.99
## 31 United States US USA 1991 24342.26
## 32 United States US USA 1990 23888.60
# SL.TLF.ACTI.ZS - Labor force participation rate, total (% of total population ages 15-64) (modeled International Labour Organization estimate)
WDI(
country = "US",
indicator = "SL.TLF.ACTI.ZS",
start = 1990,
end = 2021,
extra = FALSE,
cache = NULL,
latest = NULL,
language = "en"
)
## country iso2c iso3c year SL.TLF.ACTI.ZS
## 1 United States US USA 2021 72.073
## 2 United States US USA 2020 71.720
## 3 United States US USA 2019 72.865
## 4 United States US USA 2018 72.401
## 5 United States US USA 2017 72.128
## 6 United States US USA 2016 71.721
## 7 United States US USA 2015 71.366
## 8 United States US USA 2014 71.459
## 9 United States US USA 2013 71.571
## 10 United States US USA 2012 71.841
## 11 United States US USA 2011 71.883
## 12 United States US USA 2010 72.427
## 13 United States US USA 2009 73.108
## 14 United States US USA 2008 73.777
## 15 United States US USA 2007 73.797
## 16 United States US USA 2006 74.067
## 17 United States US USA 2005 73.972
## 18 United States US USA 2004 73.988
## 19 United States US USA 2003 74.324
## 20 United States US USA 2002 74.928
## 21 United States US USA 2001 75.354
## 22 United States US USA 2000 75.780
## 23 United States US USA 1999 75.842
## 24 United States US USA 1998 75.909
## 25 United States US USA 1997 75.980
## 26 United States US USA 1996 75.643
## 27 United States US USA 1995 75.438
## 28 United States US USA 1994 75.252
## 29 United States US USA 1993 75.052
## 30 United States US USA 1992 75.080
## 31 United States US USA 1991 74.712
## 32 United States US USA 1990 74.945
Dataframe
dat<-(WDI(indicator = c("gdp_percap"="NY.GDP.PCAP.CN","lf_partR.per"="SL.TLF.ACTI.ZS"),country=c("USA","CAN","AUS","GBR","ESP","DEU","FRA","ITA","DNK","FIN","SWE","NOR"), start = 1990, end = 2021))
summary(dat)
## country iso2c iso3c year
## Length:384 Length:384 Length:384 Min. :1990
## Class :character Class :character Class :character 1st Qu.:1998
## Mode :character Mode :character Mode :character Median :2006
## Mean :2006
## 3rd Qu.:2013
## Max. :2021
## gdp_percap lf_partR.per
## Min. : 8457 Min. :57.98
## 1st Qu.: 25010 1st Qu.:71.81
## Median : 34106 Median :75.55
## Mean :112379 Mean :74.17
## 3rd Qu.:102600 3rd Qu.:78.12
## Max. :778730 Max. :84.33
Descriptive statistics
options(scipen=10)
options(digits=3)
dat%>%
select(gdp_percap,lf_partR.per)%>%
group_by()%>%
summarise_all(.funs=c(mean, sd) ,na.rm=T)
## # A tibble: 1 × 4
## gdp_percap_fn1 lf_partR.per_fn1 gdp_percap_fn2 lf_partR.per_fn2
## <dbl> <dbl> <dbl> <dbl>
## 1 112379. 74.2 156242. 5.53
Graphics
cor(dat$gdp_percap ,dat$lf_partR.per)
## [1] 0.495
hist(dat$gdp_percap )

hist(dat$lf_partR.per )

ggplot(dat, aes(x = lf_partR.per, y = gdp_percap,color=country)) +
geom_smooth(size=.5)+
#geom_point()+
labs(title = "Covariation") +
xlab("Labor force part. rate, total (% of total population ages 15-64)") +
ylab("GDP per capita (current LCU)") +
scale_x_continuous() +
theme_minimal() +
theme()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(dat, aes(x = year, y =gdp_percap , color=country)) +
geom_smooth(size=.25) +
geom_point()+
labs(title = "Time Series") +
xlab("year") +
ylab("GDP per capita (current LCU)") +
scale_x_continuous()+
theme_minimal() +
theme(panel.grid.minor.x = element_blank())
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

ggplot(dat, aes(x = year, y = lf_partR.per,color=country)) +
geom_smooth(size=.25) +
geom_point()+
labs(title = "Time Series") +
xlab("year") +
ylab("LFPR (%)") +
scale_x_continuous()+
theme_minimal() +
theme(panel.grid.minor.x = element_blank())
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

OLS regression
fit.0<-lm(gdp_percap~lf_partR.per, dat)
summary(fit.0)
##
## Call:
## lm(formula = gdp_percap ~ lf_partR.per, data = dat)
##
## Residuals:
## Min 1Q Median 3Q Max
## -153094 -97716 -50062 71322 586442
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -925163 93418 -9.9 <2e-16 ***
## lf_partR.per 13988 1256 11.1 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 136000 on 382 degrees of freedom
## Multiple R-squared: 0.245, Adjusted R-squared: 0.243
## F-statistic: 124 on 1 and 382 DF, p-value: <2e-16
plot(gdp_percap ~ lf_partR.per, data = dat)

fit.0graph<-ggplot(dat, aes(x=lf_partR.per, y=gdp_percap,color=country))+
geom_point()+
labs(title = "Regression Line") +
geom_smooth(method="lm", col="black",lwd=.25)
fit.0graph
## `geom_smooth()` using formula = 'y ~ x'
