The COVID-19 pandemic struck the global economy after a decade that featured a broad-based slowdown in productivity growth. Global Productivity: Trends, Drivers, and Policies presents the first comprehensive analysis of the evolution and drivers of productivity growth, examines the effects of COVID-19 on productivity, and discusses a wide-range of policies needed to rekindle productivity growth. The book also provides a far-reaching dataset of multiple measures of productivity for up to 164 advanced economies and emerging market and developing economies and introduces a new sectoral database of productivity.
Labor productivity Real: Economic indicator that measures how much output is produced per unit of labor by dividing real output by hours worked.
Labor productivity PPP: Economic indicator that measures the output per unit of labor, adjusted for PPP (purchasing power parity).
#Load data
global_prod <- read_excel("GlobalProductivitySectoralDatabase.xlsx")
# Display the first few rows of the data set
head(global_prod)
## # A tibble: 6 × 8
## country sector year Value_added_nominal Value_added_real Employment
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Angola Total 2002 664207. 4033341. 5471.
## 2 Angola 1.Agriculture 2002 38855. 261770. 2022.
## 3 Angola 2.Mining 2002 310205. 1558314. 60.8
## 4 Angola 3.Manufacturing 2002 24365. 199228. 168.
## 5 Angola 4.Utilities 2002 2581. 16758. 17.6
## 6 Angola 5.Construction 2002 35969. 250220. 251.
## # ℹ 2 more variables: Labor_productivity_real <dbl>,
## # Labor_productivity_PPP <dbl>
#Summarize data
summary_data <- global_prod %>%
group_by(year, sector) %>%
summarize(avg_labor_productivity_real = mean(Labor_productivity_real, na.rm = TRUE), avg_labor_productivity_PPP = mean(Labor_productivity_PPP, na.rm = TRUE)
)
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
#Display summarize data
head(summary_data)
## # A tibble: 6 × 4
## # Groups: year [1]
## year sector avg_labor_productivity_real avg_labor_productivity_PPP
## <dbl> <chr> <dbl> <dbl>
## 1 1950 1.Agriculture 1118. 9.49
## 2 1950 2.Mining 27891. 53.2
## 3 1950 3.Manufacturing 4691. 21.9
## 4 1950 4.Utilities 6003. 25.6
## 5 1950 5.Construction 8099. 15.9
## 6 1950 6.Trade services 8952. 26.2
# Summarize the data for real labor productivity
real_productivity_summary <- global_prod %>%
group_by(year) %>%
summarize(
avg_labor_productivity_real = mean(Labor_productivity_real, na.rm = TRUE)
)
# Display the summarized data
real_productivity_summary
## # A tibble: 68 × 2
## year avg_labor_productivity_real
## <dbl> <dbl>
## 1 1950 7567.
## 2 1951 8310.
## 3 1952 7470.
## 4 1953 7851.
## 5 1954 8338.
## 6 1955 8502.
## 7 1956 8399.
## 8 1957 8551.
## 9 1958 8875.
## 10 1959 9088.
## # ℹ 58 more rows
# Summarize the data for PPP labor productivity
ppp_productivity_summary <- global_prod %>%
group_by(year) %>%
summarize(
avg_labor_productivity_PPP = mean(Labor_productivity_PPP, na.rm = TRUE)
)
# Display the summarized data
ppp_productivity_summary
## # A tibble: 68 × 2
## year avg_labor_productivity_PPP
## <dbl> <dbl>
## 1 1950 31.5
## 2 1951 32.6
## 3 1952 30.6
## 4 1953 31.1
## 5 1954 32.3
## 6 1955 33.0
## 7 1956 33.3
## 8 1957 34.2
## 9 1958 34.3
## 10 1959 34.6
## # ℹ 58 more rows
ggplot(real_productivity_summary, aes(x = year, y = avg_labor_productivity_real)) +
geom_line() +
geom_point() +
labs(
title = "Average labor productivity (Real) over the years",
x = "Year",
y = "Average labor productivity (Real)"
) +
theme_minimal()
# Assuming your data is in a data frame called 'data'
# Filter out the 'Total' sector
filtered_global_prod <- global_prod %>%
filter(sector != "Total")
# Create the stacked bar chart
ggplot(filtered_global_prod, aes(x = year, y = Labor_productivity_real, fill = sector)) +
geom_bar(stat = "identity") +
labs(
title = "Labor productivity (Real) by sector over the years",
x = "Year",
y = "Labor productivity (Real)"
) +
theme_minimal()
## Warning: Removed 72 rows containing missing values or values outside the scale range
## (`geom_bar()`).