Uploading the data
H_2015 <- read.csv("2015.csv")
H_2016 <- read.csv("2016.csv")
H_2017 <- read.csv("2017.csv")
H_2018 <- read.csv("2018.csv")
H_2019 <- read.csv("2019.csv")
Changing names for columns 2018 and 2019
colnames(H_2018)[2] <- "Country"
colnames(H_2019)[2] <- "Country"
Ordering data by country
years <- c("H_2015", "H_2016", "H_2017", "H_2018", "H_2019")
for(i in 1:5){
cyr <- get(years[i])
df <- order(cyr$Country)
cyr <- cyr[df, ]
assign(years[i], cyr)
}
Finding out which countries are not in the same years
missing_list <- paste("missing_", 2015:2019, sep = "")
for(i in 1:5){
temp <- 0
for(j in 1:4){
df <- years[i] == years
yr <- years[!df]
cyr <- get(years[i])
cyr2 <- get(yr[j])
missing <- is.element(cyr$Country,cyr2$Country)
if(sum(!missing != 0)){
misel <- cyr$Country[!missing]
if(temp[1] == 0){
temp <- misel
}
else{
temp <- c(temp, misel)
}
}}
assign(missing_list[i], unique(temp))}
Getting rid of countries in missing lists
for(i in 1:5){
cyr <- get(years[i])
missing <- is.element(cyr$Country, get(missing_list[i]))
cyr <- cyr[!missing,]
assign(years[i], cyr)
}
Creating a dataframe with happiness score for 2015 - 2019
for(i in 1:3){
cyr <- get(years[i])
colnames(cyr)[4] <- "Score"
assign(years[i], cyr)
}
H_years <- data.frame(H_2015$Country)
a <- 2
for(i in 1:5){
cyr <- get(years[i])
H_years[,a] <- cyr$Score
a <- a+1
}
colnames(H_years) <- c("Country", 2015, 2016, 2017, 2018, 2019)
Showing Increase Decrease
happiness_changes <- data.frame(H_2015$Country)
for(i in 2:5){
happiness_changes[,i] <- (H_years[,i] - H_years[,i+1])
}
colnames(happiness_changes) <- c("Country", "15 - 16", "16 - 17", "17 - 18", "18 - 19")
happiness_changes