Co za maj, wszyscy już mamy dość tej okropnej pogody. Za oknem, zimno, wietrznie i pada. Domagamy się słońca, pragniemy by jego promienie rozświetliły okolice radością i nadzieją. Zgodnie z zapowiadaną prognozą pogody, ma ona się poprawić już od soboty. Zatem to już tylko parę dni. Ale czy rzeczywiście słońce, a w zasadzie temperatura powoduje, że ludzie są szczęśliwi. Czy tam gdzie jest najcieplej (najwyższa średnia temperatura roczna) kraina spływa mlekiem i miodem, a ludzie są nad wyraz pogodni i szczęśliwi?
Organizacja Narodów Zjednoczonych ONZ co rok publikuje raport określany jako The World Happiness Report (Światowy Raport Szczęścia). Raport ten przygotowywany jest na podstawie ocen respondentów dotyczących ich własnego życia. Z metodyką wyznaczania indeksu szczęścia i elementach, które bierze się pod uwagę przy jego wyznaczaniu można zapoznać się na stronie. Oceny dokonuje się w skali od 0 do 10. W przygotowanej analizie wykorzystałem raport z 2018 r.
Indeks szczęścia będę chciał skonfrontować ze średnią temperaturą roczną panującą w danym kraju. W tym celu posłużę się danymi, które można znaleźć w Wikipedii. Tabela prezentuje średnio roczną temperaturę obliczaną z 30 letniego okresu. Na podanej stronie można znaleźć średnią z lat 1961-1990. Nie udało mi się odnaleźć średnich z okresu 1981-2010 w tak skondensowanej formie. Nie ulega jednak wątpliwości, że obecnie średnie temperatury roczne są o dziesiątki stopnia Celsjusza wyższe niż te podane w tabeli, z której zaczerpnąłem dane do analizy. Globalne ocieplenie jest niezaprzeczalnym faktem naukowym. Na końcu wpisu znajdziesz kilka dodatkowych linków do stron, które ten temat przybliżą.
Przejdźmy do analizy. Wiemy już skąd dane zostaną pobrane. Natomiast narzędziem, z którego skorzystam będzie program R, przedstawiony w zakładce narzędzia. Będę z niego korzystał wielokrotnie.
Zatem zacznijmy od pobrania danych ze wskazanych źródeł i utworzenia tabeli wynikowej, w której obok siebie będziemy mieć indeks szczęścia oraz średnioroczną temperaturę.
Pobieramy dane z raportu szczęśliwości 🙂
Pobieramy dane o średniorocznej temperaturze.
WHR <- read_html("https://en.wikipedia.org/wiki/World_Happiness_Report#2019_World_Happiness_Report")
table_link <- html_nodes(WHR,'.wikitable')
tables <- html_table(table_link, fill=TRUE)
WHR2018 <- select(tables[[1]],c(2,3))
colnames(WHR2018) <- c('Country','Score')
AYT <- read_html('https://en.wikipedia.org/wiki/List_of_countries_by_average_yearly_temperature')
table_link <- html_nodes(AYT,'.wikitable')
tables <- html_table(table_link, fill=TRUE)
AYT90 <- tables[[1]]
colnames(AYT90) <- c('Country','Temperature')
I łączymy dane w jedną tabelę.
df <- left_join(AYT90,WHR2018)
Wynik najłatwiej będzie przedstawić w postaci graficznej. W tym celu skorzystam z biblioteki do tworzenia interaktywnych wizualizacji plotly.
p <- plot_ly(df, x = ~Temperature, y = ~Score,
text = paste("Country: ", df$Country),
type="scatter") %>%
layout(title = 'The sun does not give the happiness',
yaxis = list(title='World Happiness Index'),
xaxis = list(nticks=20,title='Average Yearly Temperature (1961-1990)'))
Zatem zobaczmy. (Umiejscowienie kursora myszki nad danym znacznikiem wskazuje kraj oraz wartości średniej temperatury i indeksu szczęścia)
I wszystko jasne. Najbardziej szczęśliwymi ludźmi są mieszkańcy Europy, w szczególności kraje północnej jej części. I to pomimo tego, że temperatury nie należą do wysokich, a same kraje do ciepłych.
Przyjrzyjmy się jej bliżej. Na wstępie przefiltrujemy nasze dane i wybierzemy jedynie te dotyczące Europy.
europe.df <- filter(df, continent == "Europe")
Przedstawmy uzyskane dane w postaci graficznej. Duża zielona kropka to Polska. Jak widać znajdujemy się w środku stawki szczęśliwców 😉
Prognoza na najbliższe dni. Już w najbliższą sobotę temperatura zewnętrzna zmieni się z jednocyfrowej na dwucyfrową, i ma szansę nawet zahaczyć o dwójkę z przodu. Zatem radujmy się, być może w kolejnym rocznym rankingu przesuniemy sie o kilka oczek do góry, choć jak widać biorąc pod uwagę średnioroczną temperaturę to raczej chłód sprzyja szczęśliwości mieszkańców.