output: flexdashboard::flex_dashboard: orientation: columns storyboard: true vertical_layout: fill social: menu source_code: embed


Executive Summary

In this project, we analyzed the relationship among country’s development level and people’s life quality.

The common macroeconomic theory indicated that people will benefit from country’s continuous development, and it will in turn increast the development speed of the country. In this project, we choose five leading developing or newly industrialized countries, BRICS (Brazil, Russia, India, China, and South Africa), and performed empirical analysis to evaluate whether people’s quality of life actually improved in thorough measurement metrics.

Through analysis, we conclude that:

  1. All BRICS countries have enjoyed continuous growth, but 2008 global crisis made this growth much slower, and for some countries, the growth nearly stopped.

  2. People’s life quality improved a lot with the growth of each country. Hence it is consistent with our testing hypothesis that people will benefit from country’s development for having better welfare and more convenient life.

  3. Even after 2008 global financial crisis, the growth was adversely affected, however, the improvement of people’s life in each countries didn’t stop.

  4. For some BRICS countries, although they are still categoried as developing countries, people’s life quality improved a lot during these 14 years in terms of several welfare indicators, such as the electricity access.

  5. However, there is still room for further improvement compared with other developed countries. For instance, only around half of the population has access to Internet for four out of five BRICS countries. It may be due to the large population base of those countries, however, it is still an indicator that continuous improvement is needed to improve people’s life quality.

GDP per capita growth (annual %)

# The first plot type: plot single country and combine them together
# The function is used to draw line plot for a single country for a single indicator
# country_name:country name that wants to be plotted; indicator_name: indicator that wants to be plotted
single_line <- function (indicator_name, country_name) {
  temp <- wdi.reduced %>%
            filter(Indicator.Name == indicator_name, Country.Name == country_name)
  min_x <- min(as.numeric(as.character(temp$variable)))
  max_x <- max(as.numeric(as.character(temp$variable)))
  title_name <- paste(temp$Indicator.Name[1], '-', temp$Country.Name[1])
  
  p <- ggplot(temp, aes(x = as.numeric(levels(variable))[variable], y = value)) +
    geom_point() +
    geom_line() +
    labs(title = title_name, x = 'year', y = '%') +
    scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
    theme_economist()  
  p
}

chn_gdp <- single_line('GDP per capita growth (annual %)', 'China')
ind_gdp <- single_line('GDP per capita growth (annual %)', 'India')
rus_gdp <- single_line('GDP per capita growth (annual %)', 'Russian Federation')
saf_gdp <- single_line('GDP per capita growth (annual %)', 'South Africa')
bra_gdp <- single_line('GDP per capita growth (annual %)', 'Brazil')

grid.arrange(chn_gdp,ind_gdp, rus_gdp, saf_gdp, bra_gdp, ncol = 2, nrow = 3)


Data Visualization Result and Conclusion- GDP per capita growth (annual %)

Household final consumption expenditure per capita growth (annual %)

# The second plot type: using facet_grid feature in ggplot2 package
temp2 <- wdi.reduced %>%
          filter(Indicator.Name == 'Household final consumption expenditure per capita growth (annual %)')
min_x <- min(as.numeric(as.character(temp2$variable)))
max_x <- max(as.numeric(as.character(temp2$variable)))

q <- ggplot(temp2, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
  geom_bar(stat="identity") +
  #geom_line() +
  labs(title = temp2$Indicator.Name[1], x = 'year', y = '%') +
  scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
  facet_grid(Country.Name~.) +
  theme_economist()
ggplotly(q)

Data Visualization Result and Conclusion- Household final consumption expenditure per capita growth (annual %)

Access to electricity (% of population)

temp3 <- wdi.reduced %>%
          filter(Indicator.Name == 'Access to electricity (% of population)')
min_x <- min(as.numeric(as.character(temp3$variable)))
max_x <- max(as.numeric(as.character(temp3$variable)))

q <- ggplot(temp3, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
  geom_bar(stat="identity") +
  #geom_line() +
  labs(title = temp3$Indicator.Name[1], x = 'year', y = '%') +
  scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
  facet_grid(Country.Name~.) +
  theme_economist()
ggplotly(q)

Data Visualization Result and Conclusion- Access to electricity (% of population)

Individuals using the Internet (% of population)

temp4 <- wdi.reduced %>%
          filter(Indicator.Name == 'Individuals using the Internet (% of population)')
min_x <- min(as.numeric(as.character(temp4$variable)))
max_x <- max(as.numeric(as.character(temp4$variable)))

q <- ggplot(temp4, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
  geom_bar(stat="identity") +
  #geom_line() +
  labs(title = temp4$Indicator.Name[1], x = 'year', y = '%') +
  scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
  facet_grid(Country.Name~.) +
  theme_economist()
ggplotly(q)

Data Visualization Result and Conclusion- Individuals using the Internet (% of population)

Renewable electricity output (% of total electricity output) and Renewable energy consumption (% of total final energy consumption)

temp5 <- wdi.reduced %>%
          filter(Indicator.Name == 'Renewable electricity output (% of total electricity output)')
min_x <- min(as.numeric(as.character(temp5$variable)))
max_x <- max(as.numeric(as.character(temp5$variable)))

q1 <- ggplot(temp5, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
        geom_bar(stat="identity") +
        #geom_line() +
        labs(title = temp5$Indicator.Name[1], x = 'year', y = '%') +
        scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
        facet_grid(Country.Name~.) +
        theme_economist()

temp6 <- wdi.reduced %>%
          filter(Indicator.Name == 'Renewable energy consumption (% of total final energy consumption)')
min_x <- min(as.numeric(as.character(temp6$variable)))
max_x <- max(as.numeric(as.character(temp6$variable)))

q2 <- ggplot(temp6, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
        geom_bar(stat="identity") +
        #geom_line() +
        labs(title = temp6$Indicator.Name[1], x = 'year', y = '%') +
        scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
        facet_grid(Country.Name~.) +
        theme_economist()

grid.arrange(q1, q2, ncol = 2, nrow = 1)


Data Visualization Result and Conclusion- Renewable electricity output (% of total electricity output) and Renewable energy consumption (% of total final energy consumption)

Urban population growth (annual %)

temp7 <- wdi.reduced %>%
          filter(Indicator.Name == 'Urban population growth (annual %)')
min_x <- min(as.numeric(as.character(temp7$variable)))
max_x <- max(as.numeric(as.character(temp7$variable)))

q7 <- ggplot(temp7, aes(x = as.numeric(levels(variable))[variable], y = value)) + 
        geom_line(stat="identity") +
        geom_point() +
        labs(title = temp7$Indicator.Name[1], x = 'year', y = '%') +
        scale_x_continuous(breaks = round(seq(min_x, max_x, by = 1),0)) +
        facet_grid(Country.Name~.) +
        theme_economist()

ggplotly(q7)

Data Visualization Result and Conclusion-Urban population growth (annual %)

-Although the population growth is declining, the number of population can still increase significantly.