Analizowany jest zbiór danych airquality, zawiera on pomiary jakości powietrza w Nowym Jorku z 1973 roku. Dane te obejmują informacje o średnim poziomie ozonu,średniej temperaturze,średniej prędkości wiatru oraz promieniowanie słoneczne z okresu 5 miesięcy w Nowym Yorku z roku 1973.
Ozone Solar.R Wind Temp
Min. : 1.00 Min. : 7.0 Min. : 1.700 Min. :56.00
1st Qu.: 18.00 1st Qu.:115.8 1st Qu.: 7.400 1st Qu.:72.00
Median : 31.50 Median :205.0 Median : 9.700 Median :79.00
Mean : 42.13 Mean :185.9 Mean : 9.958 Mean :77.88
3rd Qu.: 63.25 3rd Qu.:258.8 3rd Qu.:11.500 3rd Qu.:85.00
Max. :168.00 Max. :334.0 Max. :20.700 Max. :97.00
NA's :37 NA's :7
Widizmy tu podsumowanie dla każdej zmiennej: wartość minimalna i maksymalna, średnia, a także kwantyle rzędu: pierwszego, drugiego (jako mediana), trzeciego. Z tego wykluczone są oczywiście zmienne dnia i miesiąca. Dla poziomu ozonu i promieni słonecznych dla niektórych dni nie wykonano pomiarów.
3 Wizualizacja danych
3.1 Histogramy
Niżej mamy histogramy dla poziomu ozonu, temperatury oraz wiatru.
ggplot(airquality, aes(x = Ozone)) +geom_histogram(binwidth =10, fill ="skyblue", color ="black") +theme_light() +labs(title ="Histogram poziomu ozonu", x ="Ozon", y ="Częstość")
ggplot(airquality, aes(x = Temp)) +geom_histogram(binwidth =5, fill ="orange", color ="black") +theme_light() +labs(title ="Histogram temperatury", x ="Temperatura", y ="Częstość")
ggplot(airquality, aes(x = Wind)) +geom_histogram(binwidth =5, fill ="green", color ="black") +theme_light() +labs(title ="Histogram temperatury", x ="Prędkośc wiatru", y ="Częstość")
Możemy zobaczyć, że wrtości ozonu im większa tym mniej razy wystepuje. Zupełnie odwrotną zależność możemy zobaczyć na histogramie temperatury. Średnia prędkość wiatru ma rozkład zbliżony do normalnego.
Histogram poziomu ozonu z podziałem na miesiące.
airquality$Month =factor(airquality$Month, levels =5:9, labels =c("Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień"))ggplot(airquality, aes(x = Ozone, fill =factor(Month))) +geom_histogram(binwidth =10, color ="black", position ="dodge") +theme_minimal() +labs(title ="Histogram poziomu ozonu z podziałem na miesiące",x ="Poziom ozonu", y ="Częstość", fill ="Miesiąc")
3.2 Związki między zmiennymi
Analiza związku między poziomem ozonu a temperaturą za pomocą wykresu punktowego z linią trendu.
ggplot(airquality, aes(x = Temp, y = Ozone)) +geom_point(aes(color = Wind), size =2) +geom_smooth(method ="lm", se =FALSE, color ="red") +theme_minimal() +labs(title ="Poziom ozonu a temperatura", x ="Temperatura", y ="Ozon")
Na lini trendu widać zależność, że wraz z wzrostem temperatury, poziom ozonu także rośnie. Możemy to zaobserwować po dodatnim współczynniku determinacji R-kwadrat:
summary(lm(Ozone ~ Temp, data = airquality))
Call:
lm(formula = Ozone ~ Temp, data = airquality)
Residuals:
Min 1Q Median 3Q Max
-40.729 -17.409 -0.587 11.306 118.271
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -146.9955 18.2872 -8.038 9.37e-13 ***
Temp 2.4287 0.2331 10.418 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 23.71 on 114 degrees of freedom
(37 obserwacji zostało skasowanych z uwagi na braki w nich zawarte)
Multiple R-squared: 0.4877, Adjusted R-squared: 0.4832
F-statistic: 108.5 on 1 and 114 DF, p-value: < 2.2e-16
Korelacja pomiędzy temperaturą a promieniowaniem słonecznym.
ggplot(airquality, aes(x = Temp, y = Solar.R)) +geom_point(aes(color = Wind), size =3) +geom_smooth(method ="lm", se =FALSE, color ="red") +theme_minimal() +labs(title ="Korelacja między temperaturą a promieniowaniem słonecznym",x ="Temperatura", y ="Promieniowanie słoneczne")
Jak widać nie ma dużej korelacji między tymi zmiennymi. Utwierdzić nas w przekonaniu może współczynnik determinacji R-kwadrat bliski zeru.
summary(lm(Solar.R ~ Temp, data = airquality))
Call:
lm(formula = Solar.R ~ Temp, data = airquality)
Residuals:
Min 1Q Median 3Q Max
-169.697 -59.315 6.224 67.685 186.083
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -24.431 61.508 -0.397 0.691809
Temp 2.693 0.782 3.444 0.000752 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 86.86 on 144 degrees of freedom
(7 obserwacji zostało skasowanych z uwagi na braki w nich zawarte)
Multiple R-squared: 0.07609, Adjusted R-squared: 0.06967
F-statistic: 11.86 on 1 and 144 DF, p-value: 0.0007518
3.3 Analiza czasowa
Zmienność poziomu ozonu w czasie na przestrzeni miesięcy.
ggplot(airquality, aes(x =factor(Month), y = Ozone)) +geom_boxplot(aes(fill =factor(Month))) +theme_minimal() +labs(title ="Zmienność poziomu ozonu w zależności od miesiąca",x ="Miesiąc", y ="Poziom ozonu")
Widać na wykresie pudełkowym wartości ozonu widać, że najwyższą średnią uzyskiwał w sieprniu i lipcu. w innych miesiącach gdzie temperatura była mniejsza poziom ten się zmienijszał co można było zobaczyć na wcześniejszym wykresie.
Zmienność prędkości wiatru w czasie na przestrzeni miesięcy.
ggplot(airquality, aes(x =factor(Month), y = Wind)) +geom_boxplot(aes(fill =factor(Month))) +theme_minimal() +labs(title ="Zmienność prędkości wiatru w zależności od miesiąca",x ="Miesiąc", y ="Prędkość wiatru")
Widać na wykresie nieduże zróżnicowanie w prędkości wiatru w tym okresie. W każdym miesiącu mamy podobną, niewiele różniącą się od siebie, średnią.
Zmienność promieniowania słonecznego w czasie na przestrzeni miesięcy.
ggplot(airquality, aes(x =factor(Month), y = Solar.R)) +geom_boxplot(aes(fill =factor(Month))) +theme_minimal() +labs(title ="Zmienność promieniowania słonecznego w zależności od miesiąca",x ="Miesiąc", y ="Promieniowanie słoneczne")
Ewidetnie miesiącem który tu się wyróżnia jest lipiec, którego średnia jest ewidentnie wyższa od pozostałych miesięcy.
4 Zakończenie
Zaprezentowałem tutaj sposoby na analize zboru danych airquality. Została ona wyliczona oraz przedstawiona graficznie z pomocą Rstudio.Z analizy tej można zaobserwować, że jakość powietrza w Nowym Jorku w 1973 roku była zróżnicowana w zależności od pory roku oraz innych czynników, takich jak temperatura czy prędkość wiatru. Widać, że występują wyraźne powiącania między różnymi zmiennymi.