Mina Park
In this exercise, we are writing an R Markdown file for an exploration and initial analysis of some Gapminder data.
1.) Load + explore features of the Gapminder dataset
data <- read.delim("gapminderDataFiveYear.txt")
str(data)
## 'data.frame': 1704 obs. of 6 variables:
## $ country : Factor w/ 142 levels "Afghanistan",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ year : int 1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 ...
## $ pop : num 8425333 9240934 10267083 11537966 13079460 ...
## $ continent: Factor w/ 5 levels "Africa","Americas",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ lifeExp : num 28.8 30.3 32 34 36.1 ...
## $ gdpPercap: num 779 821 853 836 740 ...
summary(data)
## country year pop continent
## Afghanistan: 12 Min. :1952 Min. :6.00e+04 Africa :624
## Albania : 12 1st Qu.:1966 1st Qu.:2.79e+06 Americas:300
## Algeria : 12 Median :1980 Median :7.02e+06 Asia :396
## Angola : 12 Mean :1980 Mean :2.96e+07 Europe :360
## Argentina : 12 3rd Qu.:1993 3rd Qu.:1.96e+07 Oceania : 24
## Australia : 12 Max. :2007 Max. :1.32e+09
## (Other) :1632
## lifeExp gdpPercap
## Min. :23.6 Min. : 241
## 1st Qu.:48.2 1st Qu.: 1202
## Median :60.7 Median : 3532
## Mean :59.5 Mean : 7215
## 3rd Qu.:70.8 3rd Qu.: 9325
## Max. :82.6 Max. :113523
##
2.) Plot relationship between gdp and life expectancy in Canada and the US
library(lattice)
library(latticeExtra)
## Loading required package: RColorBrewer
plotCan <- xyplot(lifeExp ~ gdpPercap, data, subset = country == "Canada", type = c("p",
"smooth"), main = "Life Expectancy per GDP in Canada and the US")
plotUSA <- xyplot(lifeExp ~ gdpPercap, data, subset = country == "United States",
type = c("p", "smooth"))
doubleYScale(plotCan, plotUSA, add.axis = FALSE, text = c("Canada", "USA"))
There are other ways to do this, for example:
xyplot(lifeExp ~ gdpPercap, data, subset = country == "Canada", type = c("p",
"smooth"), col = "red", main = "Life Expectancy per GDP in Canada and the US") +
as.layer(xyplot(lifeExp ~ gdpPercap, data, subset = country == "United States",
type = c("p", "smooth"), col = "blue"))
# can't figure out how to add a legend using this method, however